- GitHub Copilot은 유료 서비스입니다. 따라서, 사전에 서비스 사용과 관련한 준비가 되어 있어야 합니다. 자세한 내용은 이 문서를 참조하세요.
-
아래 명령어를 실행시켜
global.json
파일을 생성합니다.# global.json 파일 생성 dotnet new globaljson
-
리포지토리 루트에
global.json
파일이 만들어지면, 아래와 같이 .NET SDK 프리뷰 버전을 사용하지 않는 것으로 수정합니다.{ "sdk": { "allowPrerelease": false } }
-
아래 명령어를 실행시켜 ASP.NET Core Web API 프로젝트를 생성합니다.
# ASP.NET Core Web API 프로젝트 생성 dotnet new webapi -n WebApi -o src/WebApi
-
src/WebApi/Properties/launchSettings.json
파일을 열어 아래와 같이 포트번호를 수정합니다.{ "$schema": "https://json.schemastore.org/launchsettings.json", "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { // 포트번호 수정 "applicationUrl": "http://localhost:8080", "sslPort": 44380 } }, "profiles": { "http": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", // 포트번호 수정 "applicationUrl": "http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "https": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", // 포트번호 수정 "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "launchUrl": "swagger", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } }
-
솔루션 파일을 생성합니다.
# 솔루션 파일 생성 dotnet new sln -n App
-
솔루션 파일에 ASP.NET Core Web API 프로젝트를 연결합니다.
# ASP.NET Core Web API 프로젝트를 솔루션 파일에 추가 dotnet sln add src/WebApi -s src
-
솔루션을 빌드합니다.
# 솔루션 빌드 dotnet restore && dotnet build
-
앱을 실행시킵니다.
# ASP.NET Core Web API 실행 dotnet run --project src/WebApi
-
아래와 같은 팝업창이 나타나면
Open in Browser
버튼을 클릭합니다. 아래 그림은 예시일 뿐이고 포트 번호는5000
입니다. -
웹 브라우저를 열었을 때 404 에러 페이지가 보이는 것이 정상입니다.
-
주소 뒤에
/WeatherForecast
를 추가한 후 다시 실행시켜 JSON 개체를 볼 수 있으면 앱이 잘 동작하는 것입니다. -
Ctrl + C
키를 눌러 앱을 종료합니다.
-
아래 명령어를 실행시켜 .NET MSTest 프로젝트를 생성합니다.
# .NET MSTest 프로젝트 생성 dotnet new mstest -n WebApiTests -o test/WebApiTests
-
테스트 프로젝트에 ASP.NET Core Web API 프로젝트를 연결합니다.
## 테스트 프로젝트에 Web API 프로젝트 연결 dotnet add ./test/WebApiTests reference ./src/WebApi
-
솔루션 파일에 .NET MSTest 프로젝트를 연결합니다.
# .NET MSTest 프로젝트를 솔루션 파일에 추가 dotnet sln add test/WebApiTests -s test
-
솔루션을 빌드합니다.
# 솔루션 빌드 dotnet restore && dotnet build
현재 웹사이트의 루트 주소로 접속하면, 404 페이지가 나옵니다. 이를 자동으로 리디렉션 시켜 Swagger UI 페이지를 보여주게끔 합니다. 아래 프롬프트를 사용해 보세요.
-
src/WebApi/Program.cs
파일을 엽니다. -
파일의 맨 윗줄에 아래와 같이 주석을 추가합니다.
// add a namespace for rewriteoptions
-
파일의 중간쯤 어딘가
app.UseSwaggerUI();
바로 밑 줄에 아래와 같이 주석을 추가합니다.// add a new rewriteoption that redirects root to /swagger
-
다시 한 번 앱을 빌드하고 실행 시킵니다.
dotnet build dotnet run --project src/WebApi
-
아래와 같은 팝업창이 나타나면
Open in Browser
버튼을 클릭합니다. 아래 그림은 예시일 뿐이고 포트 번호는5000
입니다. -
자동으로 Swagger UI 페이지로 리디렉션된 것을 확인합니다.
-
Ctrl + C
키를 눌러 앱을 종료합니다.
-
src/WebApi/Controllers/WeatherForecastController.cs
파일을 엽니다. -
파일의 맨 아래에 아래와 같이 주석을 추가합니다.
// add a class of DateRange that defines the Length property of the integer type
-
WeatherForecastController
클래스의 맨 아래에 아래와 같이 주석을 추가합니다.// add an action method of GetRange that returns a list of WeatherForecast objects and has a parameter of DateRange with the FromQuery attribute
-
다시 한 번 앱을 빌드하고 실행 시킵니다.
dotnet build dotnet run --project src/WebApi
-
Swagger UI 에서
Length
값을 조정해 가면서 결과를 확인합니다. -
Ctrl + C
키를 눌러 앱을 종료합니다.
-
test/WebApiTests/UnitTest1.cs
파일을test/WebApiTests/Controllers/WeatherForecastControllerTests.cs
파일로 디렉토리와 파일 이름을 변경합니다. -
test/WebApiTests/Controllers/WeatherForecastControllerTests.cs
파일을 엽니다. -
파일의 맨 위에 아래와 같이 주석을 추가합니다.
// add a namespace for the WeatherForecastController
-
TestMethod1()
메소드 아래에 아래와 같이 주석을 추가합니다.// add a test method that tests the GetRange method of WeatherForecastContoller
-
아래 명령어를 실행시켜 테스트를 수행합니다.
dotnet build && dotnet test
👈 이전: GitHub 코드스페이스 👉 다음: GitHub 코파일럿 – 애저 Bicep으로 클라우드 인프라 만들기