계획 및 에이전트 모드를 사용하여 테스트 워크플로 계획 및 자동화

완료됨

이전 단원에서는 에이전트 모드를 사용하여 단일 채팅 보기 프롬프트에서 테스트를 생성했습니다. 대규모 테스트 작업에는 테스트할 항목 결정, 테스트 프로젝트 스캐폴딩, 여러 파일에서 테스트 생성, 결과 도구 모음 실행 등 더 많은 구조가 필요한 경우가 많습니다. 채팅 보기의 플랜 에이전트 및 더 긴 에이전트 세션은 해당 수준의 작업을 위해 설계되었습니다. 계획 에이전트를 사용하여 코드를 작성하기 전에 테스트 전략을 디자인한 다음, 승인된 계획을 에이전트에 전달하여 자율적인 다단계 구현을 수행할 수 있습니다.

Ask, Plan 및 Agent 에이전트 비교

채팅 보기는 세 개의 기본 제공 로컬 에이전트를 제공합니다. 각각은 다른 유형의 테스트 작업에 최적화되어 있습니다.

Agent 적합한 대상 단위 테스트에 일반적인 사용
질문하기 코드에 대한 읽기 전용 분석 및 Q&A 코드를 작성하기 전에 에지 사례, 프레임워크 선택 또는 예제 테스트를 탐색합니다.
계획 구조적 단계별 구현 계획 구현하기 전에 검토할 수 있는 다중 파일 테스트 전략을 디자인합니다.
Agent 자율, 다중 파일 코딩 워크플로 테스트 프로젝트에 직접 테스트를 생성하고, 실행하고, 실패 시 반복합니다.

채팅 보기의 에이전트 선택기에서 선택하여 에이전트를 선택합니다. 세션 중에 언제든지 에이전트를 전환할 수 있습니다.

Important

에이전트와 함께 채팅 보기를 사용하는 경우 GitHub Copilot 여러 프리미엄 요청을 수행하여 단일 작업을 완료할 수 있습니다. 프리미엄 요청은 사용자가 시작한 프롬프트와 에이전트가 사용자를 대신하여 수행하는 후속 작업 모두에서 사용됩니다. 사용되는 총 프리미엄 요청은 작업의 복잡성, 단계 수 및 선택한 모델에 따라 달라집니다.

계획 에이전트를 사용하여 테스트 전략 설계

플랜 에이전트는 코드를 작성하기 전에 자세한 구현 계획을 생성합니다. 에이전트는 작업을 연구하고, 명확한 질문을 하고, 에이전트에 검토, 구체화 및 전달할 수 있는 단계별 계획을 제안합니다.

단위 테스트 집합을 계획하려면 다음을 수행합니다.

  1. 테스트하려는 코드가 포함된 파일 또는 파일을 엽니다.

  2. 채팅 보기를 열고 에이전트 선택기에서 계획을 선택합니다. 또는 /plan를 입력한 다음 작업 설명을 입력하세요.

  3. 만들려는 테스트를 설명하는 프롬프트를 입력합니다. 다음은 그 예입니다.

    I need unit tests for the methods in the Calculator class. Use xUnit. Include tests for success, failure, and boundary conditions. Place the new tests in the Calculator.Tests project.

  4. 확인 질문에 답변하세요.

    계획 에이전트는 계획 초안을 작성하기 전에 테스트 프레임워크 기본 설정, 명명 규칙 또는 종속성을 처리하는 방법에 대해 질문할 수 있습니다.

  5. 제안된 계획을 검토합니다.

    이 계획에는 일반적으로 개략적인 요약, 단계 분석, 테스트 실행을 위한 확인 단계 및 문서화된 의사 결정이 포함됩니다. 계획에 빌드하려는 항목이 반영될 때까지 계획 에이전트를 사용하여 반복합니다.

  6. 구현 계획을 전달합니다.

    계획이 최종적이면 구현을 시작하는 옵션을 선택합니다. 동일한 채팅 세션에서 계획을 구현하거나 백그라운드 또는 클라우드 세션을 시작하여 구현을 자율적으로 작업할 수 있습니다. 추가 검토를 위해 편집기에서 계획을 열 수도 있습니다.

계획 에이전트는 테스트 작업이 여러 파일에 걸쳐 있거나, 새 테스트 클래스 또는 비품이 필요하거나, 지침에 아직 캡처되지 않은 팀 규칙에 부합해야 하는 경우에 특히 유용합니다.

에이전트를 사용하여 테스트 워크플로 자동화

에이전트는 작업 영역에서 다단계 작업을 자동화합니다. 단위 테스트의 경우 에이전트를 사용하여 테스트 프로젝트를 스캐폴드하거나, 테스트 파일을 만들고, 결과 테스트를 실행하거나, 테스트 보고서를 생성하거나, 테스트 실행 중에 발생하는 문제를 해결할 수 있습니다.

에이전트를 사용하여 단위 테스트를 만들고 실행하려면 다음을 수행합니다.

  1. 테스트하려는 코드가 포함된 파일을 엽니다.

  2. 채팅 보기를 열고 에이전트 선택기에서 에이전트 를 선택합니다.

  3. 에이전트가 컨텍스트를 결정하도록 합니다.

    에이전트를 사용하는 경우 GitHub Copilot 관련 파일을 자동으로 식별합니다. 컨텍스트 추가 단추를 사용하거나 채팅 보기로 파일을 끌어 추가 컨텍스트를 연결할 수도 있습니다.

  4. 필요에 따라 도구 아이콘을 선택하여 에이전트가 작업에 사용할 수 있는 도구를 선택합니다.

    테스트 작업에 유용한 도구로는 파일 편집 도구, dotnet test을 실행하기 위한 터미널 도구, 그리고 확장 프로그램에서 제공하는 테스트 도구가 있습니다.

  5. 작업을 정의하는 프롬프트를 입력합니다. 다음은 그 예입니다.

    Ensure that a suitable unit test project is prepared for the selected code file. Create a test file in the unit test project that includes unit tests for all methods in the selected file. Unit tests should be written in C# and use the xUnit framework. Run the tests to ensure expected results.

  6. 에이전트가 작업하는 동안 모니터링합니다.

    • 에이전트가 제안하는 도구 호출 및 터미널 명령을 확인하거나 거부합니다. 예를 들어 테스트를 실행하거나 테스트 보고서를 생성하는 명령을 확인할 수 있습니다.
    • 컨텍스트를 변경하거나, 도구를 전환하거나, 작업의 범위를 조정해야 하는 경우 에이전트를 중단합니다.
  7. 에이전트가 만들거나 업데이트한 파일을 검토한 다음 변경 내용을 유지하거나 삭제합니다.

    필요한 경우 후속 프롬프트를 사용하여 특정 테스트를 구체화합니다.

계획, 에이전트 또는 둘 다를 사용할 시기 결정

다음 지침을 사용하여 에이전트 중에서 선택합니다.

  • 테스트 작업에 모호성, 여러 파일 또는 확인해야 하는 팀 규칙이 포함된 경우 먼저 계획 에이전트를 사용합니다. 플랜은 코드를 작성하기 전에 검토할 수 있는 계약이 됩니다.
  • 작업이 잘 정의되어 있고 중간 계획 단계 없이 GitHub Copilot 스캐폴드, 생성 및 테스트를 실행하려는 경우 에이전트를 직접 사용합니다.
  • 계획을 사용한 다음 검토 가능한 계획과 자율 구현을 원할 때 에이전트에 전달합니다. 이 조합을 사용하면 작업을 자동화하면서 범위를 가장 잘 제어할 수 있습니다.