다음을 통해 공유


.NET용 GitHub Copilot 테스트를 사용하여 단위 테스트 생성 및 실행

.NET용 GitHub Copilot 테스트를 사용하여 단위 테스트를 만들고 실행하여 코드가 예상대로 작동하는지 확인합니다.

Copilot는 단위 테스트를 생성할 수 있지만 다음을 포함하여 Visual Studio에서 .NET용 GitHub Copilot 테스트를 사용하여 추가 테스트 기능을 얻을 수 있습니다.

  • 단위 테스트는 솔루션 내의 별도 프로젝트에서 생성됩니다.
  • Copilot는 C# 컴파일러 및 언어 의미 체계에 기반하여 테스트를 결정적으로 생성합니다. 따라서 어설션 및 에지 케이스는 예측 가능하고 형식 안전성이 보장됩니다.
  • GitHub Copilot 테스트는 테스트 생성 후 단위 테스트를 빌드합니다. 오류가 있는 경우 .NET용 GitHub Copilot의 단위 테스트 기능은 오류를 식별하고 수정한 다음 테스트를 다시 실행합니다.
  • GitHub Copilot 테스트는 테스트 탐색기를 사용하여 테스트를 실행합니다.

.NET용 GitHub Copilot 테스트는 MSTest, NUnit 및 xUnit 프레임워크를 사용하는 C# 프로젝트에 대한 테스트를 생성합니다. 솔루션에 NUnit 또는 xUnit에 단위 테스트가 이미 있는 경우 .NET용 GitHub Copilot 테스트는 동일한 단위 테스트 프레임워크에서 새 테스트를 생성합니다. 솔루션에 단위 테스트가 없는 경우 MSTest를 사용하여 새 테스트가 생성됩니다.

필수 조건

시작하려면 다음이 필요합니다.

팁 (조언)

최상의 환경을 위해 잠재적인 제한을 방지하고 일관된 액세스를 보장하기 위해 유료 코필로트 구독을 사용하는 것이 좋습니다.

단위 테스트에 대한 소개는 단위 테스트 기본 사항을 참조하세요.

테스트 생성 및 실행

  1. 새 테스트가 필요한 기존 C# 프로젝트를 엽니다.

    기존 프로젝트가 없는 경우 새 프로젝트를 만든 다음 Bank 샘플 애플리케이션 코드를 사용하여 단위 테스트를 실험할 수 있습니다. .NET에 대한 단위 테스트를 만들고 실행하는 부분에서 시작 샘플 코드를 로 복사하세요.

  2. 프로젝트를 빌드합니다.

    프로젝트를 오류 없이 빌드하여 프로세스를 간소화해야 합니다.

  3. Visual Studio에서 GitHub Copilot 채팅 >보기를 선택합니다.

  4. 채팅 창에서 다음 구문을 사용하여 GitHub Copilot 테스트를 시작하고 테스트를 생성합니다.

    @test #target
    

    솔루션, 프로젝트, 파일, 클래스 또는 멤버의 이름이 될 수 있습니다 #target .

    비고

    명령 @test을(를) 입력할 때 Ask 모드 또는 Agent 모드 중 하나를 선택할 수 있습니다. 결과는 다르지 않습니다.

    Bank 샘플 코드의 경우 클래스 이름을 @test #BankAccount지정할 수 있습니다. 테스트 명령은 다음과 같이 채팅에 표시되어 명령이 인식됨을 나타냅니다.

    테스트를 생성하는 명령의 스크린샷

  5. 채팅 창에서 보내기를 선택합니다.

    .NET용 GitHub Copilot 테스트는 코드 분석, 단위 테스트에 대한 새 프로젝트 만들기, 테스트 생성, 테스트 빌드 및 실행의 반복적인 프로세스를 시작합니다.

    테스트 생성은 장기 실행 프로세스입니다. 대상의 범위(파일, 프로젝트, 솔루션 등)에 따라 시간이 걸릴 수 있습니다.

    테스트 생성을 시작하는 Copilot의 스크린샷

    단위 테스트가 생성되면 테스트는 솔루션의 별도 테스트 프로젝트에 표시됩니다.

    생성된 샘플 테스트의 스크린샷.

    테스트 탐색기에 결과가 표시됩니다. GitHub Copilot 테스트를 통해 테스트 탐색기가 자동으로 열리지 않는 경우 테스트>탐색기를 선택합니다.

    테스트 탐색기 출력의 스크린샷.

    이 시점에서 수동으로 테스트 탐색기를 사용하여 테스트를 계속 실행하거나 테스트 결과에 대해 Copilot와 채팅할 수 있습니다. Copilot를 사용하여 실패한 테스트를 디버그할 수도 있습니다. 자세한 내용은 단위 테스트 디버그를 참조하세요.