단위 테스트 도구 및 환경 검사
GitHub Copilot 채팅을 사용하면 지정한 코드를 기반으로 단위 테스트를 제안할 수 있습니다. 예를 들어, 메서드 서명과 본문을 지정하면 GitHub Copilot 채팅은 입력 매개 변수와 예상 출력 값을 다루는 테스트 사례를 제안할 수 있습니다. 테스트 프로젝트에 몇 가지 테스트 사례가 포함되면 GitHub Copilot을 사용하여 추가 테스트 사례에 대한 코드 완료 제안을 생성할 수 있습니다. 코드 줄 완료를 사용하여 단위 테스트를 생성하면 반복 프로세스가 줄어들고 코드를 철저하게 테스트하는 데 도움이 됩니다.
GitHub Copilot 채팅은 코드의 컨텍스트와 의미 체계를 사용하여 함수가 올바르게 작동하는지 확인하는 어설션을 제안합니다. 또한 수동으로 식별하기 어려울 수 있는 극단적인 경우와 경계 조건에 대한 테스트 사례를 작성하는 데도 도움이 됩니다. 예를 들어, GitHub Copilot 채팅은 오류 처리, Null 값 또는 예기치 못한 입력 형식에 대한 테스트 사례를 제안할 수 있습니다.
중요합니다
생성된 테스트 사례는 가능한 모든 시나리오를 다루지 않을 수 있습니다. 코드 품질을 보장하려면 수동 테스트와 코드 검토가 필요합니다.
단위 테스트에 대한 GitHub Copilot 지원
Copilot는 다음 테스트 작업에 도움이 될 수 있습니다.
- 테스트 프레임워크 설정: 프로젝트 및 언어에 적합한 테스트 프레임워크 및 VS Code 확장을 구성하는 데 도움을 받으세요.
- 테스트 코드 생성: 애플리케이션 코드를 다루는 단위 테스트, 통합 테스트 및 엔드 투 엔드 테스트를 만듭니다.
- 에지 사례 처리: 에지 사례 및 오류 조건을 처리하는 포괄적인 테스트 도구 모음을 생성합니다.
- 실패한 테스트 수정: 테스트 실패 수정에 대한 제안을 받습니다.
- 일관성 유지: 코필로트를 개인 설정하여 프로젝트의 코딩 사례를 따르는 테스트를 생성합니다.
테스트 프레임워크 설정
테스트 워크플로를 가속화하기 위해 Copilot는 프로젝트에 대한 테스트 프레임워크 및 VS Code 확장을 설정하는 데 도움이 될 수 있습니다. Copilot는 프로젝트 형식에 따라 적절한 테스트 프레임워크를 제안합니다.
채팅 보기를 엽니다.
/setupTests채팅 입력 필드에 명령을 입력합니다.GitHub Copilot의 지침에 따라 프로젝트를 구성합니다.
GitHub Copilot를 사용하여 단위 테스트 작성
GitHub Copilot는 코드베이스를 포함하는 테스트 코드를 생성하여 애플리케이션 코드에 대한 테스트를 작성하는 데 도움이 될 수 있습니다. 여기에는 단위 테스트, 엔드 투 엔드 테스트 및 에지 사례에 대한 테스트가 포함됩니다.
다음 GitHub Copilot 도구를 사용하여 단위 테스트를 생성할 수 있습니다.
- 채팅 보기: 채팅 보기를 사용하여 요청, 편집 또는 에이전트 모드를 사용하여 프로젝트, 클래스 또는 메서드에 대한 단위 테스트를 생성합니다.
- 인라인 채팅: 인라인 채팅을 사용하여 선택한 클래스 또는 메서드에 대한 단위 테스트를 생성합니다.
- 스마트 작업: 테스트 생성 스마트 작업을 사용하여 프롬프트를 작성하지 않고 선택한 코드에 대한 단위 테스트를 생성합니다.
- 코드 줄 완성: 코드 줄 완성을 사용하여 기존 테스트 사례에 대한 추가 단위 테스트를 제안합니다.
실패한 테스트 수정
Copilot는 Visual Studio Code의 테스트 탐색기와 통합되며 실패한 테스트를 수정하는 데 도움이 될 수 있습니다.
테스트 탐색기에서 실패한 테스트를 마우스로 가리킵니다.
테스트 실패 수정 단추 선택(스파클 아이콘)
코필로트의 제안된 수정 사항을 검토하고 적용합니다.
또는 다음을 수행할 수 있습니다.
채팅 보기를 엽니다.
/fixTestFailure슬래시 명령을 입력합니다.코필로트의 제안에 따라 테스트를 수정합니다.
팁 (조언)
에이전트 모드는 테스트를 실행할 때 테스트 출력을 모니터링하고 실패한 테스트를 자동으로 수정하고 다시 실행하려고 시도합니다.
일관성 유지
조직에 특정 테스트 요구 사항이 있는 경우 Copilot가 테스트를 생성하는 방법을 사용자 지정하여 표준을 충족하는지 확인할 수 있습니다. 사용자 지정 지침을 제공하여 Copilot에서 테스트를 생성하는 방법을 개인 설정할 수 있습니다. 다음은 그 예입니다.
- 선호하는 테스트 프레임워크 지정
- 테스트에 대한 명명 규칙 정의
- 코드 구조 기본 설정 설정
- 특정 테스트 패턴 또는 방법론 요청
단위 테스트를 위한 Visual Studio Code 지원
Visual Studio Code에서 C# 단위 테스트를 만들고 실행하려면 다음 리소스가 필요합니다.
- .NET 8.0 SDK 이상.
- Visual Studio Code용 C# 개발 키트 확장.
- 프로젝트에 추가된 테스트 프레임워크 패키지.
단위 테스트를 위한 C# 개발 키트 지원
Visual Studio Code용 C# 개발 키트 확장은 C# 프로젝트에 대한 단위 테스트를 만들고 관리하는 데 도움이 되는 다양한 기능 집합을 제공합니다. 이 관리 팩에는 다음과 같은 기능이 포함되어 있습니다.
- 테스트 탐색기 - 작업 영역의 모든 테스트 사례를 표시하는 트리 뷰입니다.
- 테스트 사례 실행/디버그 - 테스트 사례를 실행하고 디버그하는 기능입니다.
- 테스트 결과 보기 - 테스트 결과를 볼 수 있는 기능입니다.
- 테스트 명령 - 모든 테스트 실행, 실패한 테스트 실행 등을 위한 명령입니다.
- 테스트 설정 - 테스트와 관련된 설정입니다.
- 테스트 프레임워크 패키지
C# 개발 키트는 다음 테스트 프레임워크를 지원합니다.
- xUnit
- NUnit
- MSTest (테스트 프레임워크)
C# 개발 키트를 사용하면 테스트 프로젝트를 만들고, 테스트 프레임워크 패키지를 추가하고, 단위 테스트를 관리할 수 있습니다.
테스트 프레임워크 사용
Visual Studio Code의 명령 팔레트는 프로젝트에 대한 테스트 프레임워크를 사용하도록 설정하는 가장 쉬운 방법을 제공합니다. 다음과 같은 방법으로 명령 팔레트를 열 수 있습니다.
- Ctrl + Shift + P 키(Windows/Linux) 또는 Cmd + Shift + P(macOS)를 누릅니다.
- 보기 메뉴를 열고 명령 팔레트를 선택합니다.
- 솔루션 탐색기 보기를 열고 솔루션 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 프로젝트를 선택합니다. 이 옵션은 .NET: 새 프로젝트... 명령이 이미 선택된 명령 팔레트를 엽니다.
다음 섹션에서는 명령 팔레트를 사용하여 C# 프로젝트에 대한 테스트 프레임워크를 사용하도록 설정하는 방법을 설명합니다.
xUnit
명령 팔레트를 열고 .NET:새 프로젝트...를 선택한 다음 xUnit 테스트 프로젝트를 선택하고 새 프로젝트의 이름과 위치를 입력합니다. 이 명령은 xUnit을 테스트 라이브러리로 사용하는 새 프로젝트와 디렉터리를 만들고 프로젝트 파일에 다음 <PackageReference /> 요소를 추가하여 테스트 실행기를 구성합니다.
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
터미널에서 다음 명령을 실행할 수 있습니다.
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
명령 팔레트를 열고 .NET:새 프로젝트...를 선택한 다음 NUnit3 테스트 프로젝트를 선택하고 새 프로젝트의 이름과 위치를 입력합니다. 이 명령은 NUnit을 테스트 라이브러리로 사용하는 새 프로젝트와 디렉터리를 만들고 프로젝트 파일에 다음 <PackageReference /> 요소를 추가하여 테스트 실행기를 구성합니다.
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
터미널에서 다음 명령을 실행합니다.
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest (테스트 프레임워크)
명령 팔레트를 열고 .NET:새 프로젝트...를 선택한 다음 MSTest 테스트 프로젝트를 선택하고 새 프로젝트의 이름과 위치를 입력합니다. 이 명령은 MSTest를 테스트 라이브러리로 사용하는 새 프로젝트와 디렉터리를 만들고 프로젝트 파일에 다음 <PackageReference /> 요소를 추가하여 테스트 실행기를 구성합니다.
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
터미널에서 다음 명령을 실행합니다.
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
GitHub Copilot 채팅을 사용하여 Visual Studio Code에서 단위 테스트 개발
Visual Studio Code와 GitHub Copilot 채팅의 조합은 C# 프로젝트에 대한 단위 테스트를 만들고 실행하기 위한 강력한 환경을 제공합니다.
단위 테스트 프로세스는 세 단계로 나눌 수 있습니다.
- Visual Studio Code를 사용하여 단위 테스트용 테스트 프로젝트를 만듭니다.
- GitHub Copilot 채팅을 사용하여 C# 프로젝트에 대한 단위 테스트 사례를 개발합니다.
- Visual Studio Code 및 C# Dev Kit를 사용하여 단위 테스트를 실행하고 관리합니다.
테스트 프로젝트 만들기
단위 테스트를 수행하는 데 사용할 테스트 프로젝트를 만들어야 합니다. Visual Studio Code를 사용하여 다음 작업을 완료할 수 있습니다.
명령 팔레트를 사용하여 지정된 테스트 프레임워크를 사용하는 테스트 프로젝트를 만듭니다.
통합 터미널을 사용하여 테스트 중인 프로젝트에 대한 참조를 추가합니다.
이 프로세스는 새 프로젝트를 만들고 선택한 프레임워크에 대한 테스트 실행기를 구성합니다.
GitHub Copilot 채팅을 사용하여 단위 테스트 사례 생성
GitHub Copilot 채팅을 사용하면 테스트 프레임워크에 대한 단위 테스트 사례를 작성하는 데 도움이 될 수 있습니다. Copilot 채팅은 테스트 프레임워크와 코딩 스타일을 인식하고 일치하는 코드 조각을 생성합니다. Copilot 채팅을 사용하여 다음 작업을 완료할 수 있습니다.
편집기에 열려 있는 코드나 편집기에서 강조 표시한 코드 조각을 기반으로 테스트 프레임워크에 대한 단위 테스트 사례를 작성합니다. Copilot은 테스트 프레임워크와 코딩 스타일을 식별하고 일치하는 코드 조각을 생성합니다.
수동으로 식별하기 어려울 수 있는 에지 사례 및 경계 조건에 대한 테스트 사례를 식별하고 작성합니다. 예를 들어, Copilot은 오류 처리, Null 값 또는 예기치 못한 입력 형식에 대한 테스트 사례를 제안할 수 있습니다.
코드의 컨텍스트와 의미 체계를 기반으로 함수가 올바르게 작동하는지 확인하는 어설션을 제안합니다. 예를 들어, 함수 입력 매개 변수가 유효한지 확인하는 어설션을 생성합니다.
Copilot 채팅에 단위 테스트 사례 생성을 요청할 때 다음 시나리오를 고려합니다.
편집기에 단일 메서드가 전체로 표시되는 경우
Write a unit test for the method in the #editor를 입력하여 메서드에 대한 단위 테스트를 생성하도록 Copilot 채팅에 요청할 수 있습니다.여러 메서드가 표시되거나 의도한 메서드가 편집기에 표시되는 것 이상으로 확장되는 경우 단위 테스트를 생성하려는 코드를 선택한 다음 Copilot:
#selection write a unit test for this code에 문의하세요.
Visual Studio Code에서 단위 테스트 실행 및 관리
Visual Studio Code 및 C# Dev Kit는 C# 프로젝트에 대한 단위 테스트를 실행하고 관리하는 데 도움이 되는 다양한 기능 집합을 제공합니다. 테스트 탐색기를 사용하여 테스트 사례를 실행/디버깅하고, 테스트 결과를 보고, 테스트 사례를 관리할 수 있습니다.
테스트 사례 실행/디버깅: C# 개발 키트는 클래스 및 메서드 정의 왼쪽에 바로 가기(녹색 재생 단추)를 생성합니다. 대상 테스트 사례를 실행하려면 녹색 재생 단추를 선택합니다. 마우스 오른쪽 단추를 클릭하면 더 많은 옵션을 볼 수도 있습니다.
테스트 탐색기: 테스트 탐색기는 작업 영역의 모든 테스트 사례를 표시하는 트리 뷰입니다. Visual Studio Code의 왼쪽 작업 표시줄에 있는 비커 단추를 선택하여 열 수 있습니다. 또한 테스트 사례를 실행/디버깅하고 해당 위치에서 테스트 결과를 볼 수도 있습니다.
테스트 결과 보기: 테스트 사례를 실행/디버깅한 후 관련 테스트 항목의 상태가 편집기 장식과 테스트 탐색기 모두에서 업데이트됩니다. 스택 추적의 링크를 선택하여 원본 위치로 이동할 수 있습니다.
Visual Studio Code 테스트 명령: 명령 팔레트에서 Test:를 검색하면 테스트 명령(예: Run All Tests)을 찾을 수 있습니다.
Visual Studio Code 테스트 설정: 설정 편집기에서 테스트를 검색하여 찾을 수 있는 테스트와 관련된 Visual Studio Code 설정이 있습니다.
요약
GitHub Copilot 채팅을 사용하면 지정한 코드를 기반으로 단위 테스트를 제안할 수 있습니다. 예를 들어, 메서드 서명과 본문을 지정하면 GitHub Copilot 채팅은 입력 매개 변수와 예상 출력 값을 다루는 테스트 사례를 제안할 수 있습니다. 테스트 프로젝트에 몇 가지 테스트 사례가 포함되면 GitHub Copilot을 사용하여 추가 테스트 사례에 대한 코드 완료 제안을 생성할 수 있습니다. 코드 줄 완료를 사용하여 단위 테스트를 생성하면 반복 프로세스가 줄어들고 코드를 철저하게 테스트하는 데 도움이 됩니다.
GitHub Copilot 채팅은 코드의 컨텍스트와 의미 체계를 사용하여 함수가 올바르게 작동하는지 확인하는 어설션을 제안합니다. 또한 수동으로 식별하기 어려울 수 있는 극단적인 경우와 경계 조건에 대한 테스트 사례를 작성하는 데도 도움이 됩니다. 예를 들어, GitHub Copilot 채팅은 오류 처리, Null 값 또는 예기치 못한 입력 형식에 대한 테스트 사례를 제안할 수 있습니다.