단위 테스트 도구 및 환경 검사

완료됨

GitHub Copilot 채팅을 사용하면 지정한 코드를 기반으로 단위 테스트를 제안할 수 있습니다. 예를 들어, 메서드 서명과 본문을 지정하면 GitHub Copilot 채팅은 입력 매개 변수와 예상 출력 값을 다루는 테스트 사례를 제안할 수 있습니다. 테스트 프로젝트에 몇 가지 테스트 사례가 포함되면 GitHub Copilot을 사용하여 추가 테스트 사례에 대한 코드 완료 제안을 생성할 수 있습니다. 코드 줄 완료를 사용하여 단위 테스트를 생성하면 반복 프로세스가 줄어들고 코드를 철저하게 테스트하는 데 도움이 됩니다.

GitHub Copilot 채팅은 코드의 컨텍스트와 의미 체계를 사용하여 함수가 올바르게 작동하는지 확인하는 어설션을 제안합니다. 또한 수동으로 식별하기 어려울 수 있는 극단적인 경우와 경계 조건에 대한 테스트 사례를 작성하는 데도 도움이 됩니다. 예를 들어, GitHub Copilot 채팅은 오류 처리, Null 값 또는 예기치 못한 입력 형식에 대한 테스트 사례를 제안할 수 있습니다.

중요합니다

생성된 테스트 사례는 가능한 모든 시나리오를 다루지 않을 수 있습니다. 코드 품질을 보장하려면 수동 테스트와 코드 검토가 필요합니다.

단위 테스트에 대한 GitHub Copilot 지원

Copilot는 다음 테스트 작업에 도움이 될 수 있습니다.

  • 테스트 프레임워크 설정: 프로젝트 및 언어에 적합한 테스트 프레임워크 및 VS Code 확장을 구성하는 데 도움을 받으세요.
  • 테스트 코드 생성: 애플리케이션 코드를 다루는 단위 테스트, 통합 테스트 및 엔드 투 엔드 테스트를 만듭니다.
  • 에지 사례 처리: 에지 사례 및 오류 조건을 처리하는 포괄적인 테스트 도구 모음을 생성합니다.
  • 실패한 테스트 수정: 테스트 실패 수정에 대한 제안을 받습니다.
  • 일관성 유지: 코필로트를 개인 설정하여 프로젝트의 코딩 사례를 따르는 테스트를 생성합니다.

테스트 프레임워크 설정

테스트 워크플로를 가속화하기 위해 Copilot는 프로젝트에 대한 테스트 프레임워크 및 VS Code 확장을 설정하는 데 도움이 될 수 있습니다. Copilot는 프로젝트 형식에 따라 적절한 테스트 프레임워크를 제안합니다.

  1. 채팅 보기를 엽니다.

  2. /setupTests 채팅 입력 필드에 명령을 입력합니다.

  3. GitHub Copilot의 지침에 따라 프로젝트를 구성합니다.

GitHub Copilot를 사용하여 단위 테스트 작성

GitHub Copilot는 코드베이스를 포함하는 테스트 코드를 생성하여 애플리케이션 코드에 대한 테스트를 작성하는 데 도움이 될 수 있습니다. 여기에는 단위 테스트, 엔드 투 엔드 테스트 및 에지 사례에 대한 테스트가 포함됩니다.

다음 GitHub Copilot 도구를 사용하여 단위 테스트를 생성할 수 있습니다.

  • 채팅 보기: 채팅 보기를 사용하여 요청, 편집 또는 에이전트 모드를 사용하여 프로젝트, 클래스 또는 메서드에 대한 단위 테스트를 생성합니다.
  • 인라인 채팅: 인라인 채팅을 사용하여 선택한 클래스 또는 메서드에 대한 단위 테스트를 생성합니다.
  • 스마트 작업: 테스트 생성 스마트 작업을 사용하여 프롬프트를 작성하지 않고 선택한 코드에 대한 단위 테스트를 생성합니다.
  • 코드 줄 완성: 코드 줄 완성을 사용하여 기존 테스트 사례에 대한 추가 단위 테스트를 제안합니다.

실패한 테스트 수정

Copilot는 Visual Studio Code의 테스트 탐색기와 통합되며 실패한 테스트를 수정하는 데 도움이 될 수 있습니다.

  1. 테스트 탐색기에서 실패한 테스트를 마우스로 가리킵니다.

  2. 테스트 실패 수정 단추 선택(스파클 아이콘)

  3. 코필로트의 제안된 수정 사항을 검토하고 적용합니다.

또는 다음을 수행할 수 있습니다.

  1. 채팅 보기를 엽니다.

  2. /fixTestFailure 슬래시 명령을 입력합니다.

  3. 코필로트의 제안에 따라 테스트를 수정합니다.

팁 (조언)

에이전트 모드는 테스트를 실행할 때 테스트 출력을 모니터링하고 실패한 테스트를 자동으로 수정하고 다시 실행하려고 시도합니다.

일관성 유지

조직에 특정 테스트 요구 사항이 있는 경우 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.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.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.Sdk
  • NUnit
  • NUnit3TestAdapter

터미널에서 다음 명령을 실행합니다.

    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.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.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를 사용하여 다음 작업을 완료할 수 있습니다.

  1. 명령 팔레트를 사용하여 지정된 테스트 프레임워크를 사용하는 테스트 프로젝트를 만듭니다.

  2. 통합 터미널을 사용하여 테스트 중인 프로젝트에 대한 참조를 추가합니다.

이 프로세스는 새 프로젝트를 만들고 선택한 프레임워크에 대한 테스트 실행기를 구성합니다.

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 값 또는 예기치 못한 입력 형식에 대한 테스트 사례를 제안할 수 있습니다.