채팅 보기 모드를 사용하여 단위 테스트 만들기

완료됨

Visual Studio Code의 채팅 보기는 단위 테스트를 만드는 데 사용할 수 있는 세 가지 모드인 Ask, Edit 및 Agent를 제공합니다. 각 모드에는 고유한 강점과 약점이 있으며 가장 적합한 모드는 현재 진행 중인 특정 작업에 따라 달라집니다.

  • 질문 모드는 코드 프로젝트, 코딩 토픽 및 일반 기술 개념에 대한 질문을 하도록 최적화되어 있습니다.
  • 편집 모드는 코드베이스의 여러 파일에서 편집하는 데 최적화되어 있습니다.
  • 에이전트 모드는 에이전트 코딩 워크플로를 시작하는 데 최적화되어 있습니다.

중요합니다

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

요청 모드를 사용하여 단위 테스트 만들기

요청 모드를 사용하여 작업 영역을 분석한 다음 단위 테스트를 만들 수 있습니다. 요청 모드는 파일에서 여러 함수 또는 메서드에 대한 테스트를 만들거나 전체 파일에 대한 테스트를 만들려는 경우에 유용합니다.

요청 모드를 사용하여 단위 테스트를 만들려면 다음 단계를 수행합니다.

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

  2. 채팅 보기를 열고 요청 모드를 사용하여 새 채팅 세션을 시작합니다.

  3. 채팅 세션에 컨텍스트를 추가합니다.

    • Visual Studio Code의 탐색기 보기에서 채팅 보기로 파일을 끌어서 놓아 채팅 세션에 컨텍스트를 추가할 수 있습니다. 컨텍스트 추가 단추를 사용할 수도 있습니다.
    • 코드 편집기에서 외부 파일을 열어 작업 영역의 일부가 아닌 리소스를 포함하고 이를 사용하여 특정 컨텍스트를 제공할 수 있습니다. 예를 들어 기여자 지침 또는 연락처 정보가 포함된 markdown 파일을 연 다음 컨텍스트 추가 단추를 사용하여 채팅 보기 컨텍스트에 추가할 수 있습니다.
    • 채팅 변수를 @workspace 사용하여 프롬프트의 일부로 작업 영역을 지정할 수 있습니다. 작업 영역 컨텍스트는 파일에서 여러 함수 또는 메서드에 대한 테스트를 만들거나 전체 파일에 대한 테스트를 만들려는 경우에 유용합니다.
  4. 파일의 코드에 대한 단위 테스트를 요청하는 프롬프트를 입력합니다.

    • 예: "@workspace /explain I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework."
  5. 제안된 단위 테스트를 검토하고 필요한 경우 업데이트된 프롬프트를 사용하여 결과를 구체화합니다.

  6. 제안된 단위 테스트를 테스트 파일로 이동합니다.

    • 예를 들어 코드 파일과 동일한 디렉터리에 테스트 파일을 만든 다음 제안된 단위 테스트를 파일에 삽입합니다.
    • 요청 모드를 사용하여 테스트 파일을 만든 후 특정 테스트에 대한 업데이트를 제안하거나 다른 GitHub Copilot 도구를 사용하여 업데이트를 도울 수 있습니다.
    • 편집기에서 적용 단추를 사용하여 제안된 단위 테스트를 코드 파일에 직접 적용할 수도 있습니다.
  7. 테스트 파일을 저장합니다.

    • 테스트 파일은 일반적으로 단위 테스트를 위해 구성된 프로젝트의 별도 "테스트" 디렉터리에 저장됩니다. 옵션은 프로젝트의 구조 및 테스트 프레임워크에 따라 달라집니다.
    • 요청 모드를 사용하여 테스트 파일을 만든 후 특정 테스트에 대한 업데이트를 제안하거나 다른 GitHub Copilot 도구를 사용하여 업데이트를 도울 수 있습니다.
  8. 테스트를 실행하여 테스트를 통과하고 코드의 기능을 확인합니다.

  9. 필요한 경우 테스트 사례를 더 추가하거나 기존 테스트 사례를 수정하여 테스트를 구체화합니다.

  10. 테스트를 변경한 후 파일을 다시 저장합니다.

편집 모드를 사용하여 단위 테스트 만들기

편집 모드는 채팅에 컨텍스트 파일을 추가한 다음 테스트 파일을 만들거나 업데이트하여 단위 테스트를 만드는 데 사용할 수 있습니다. 편집 모드는 파일에서 특정 함수 또는 메서드에 대한 테스트를 만들거나 전체 파일에 대한 테스트를 만들려는 경우에 유용합니다.

편집 모드를 사용하여 단위 테스트를 만들려면 다음 단계를 수행합니다.

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

  2. 채팅 보기를 열고 편집 모드를 사용하여 새 채팅 세션을 시작합니다.

  3. 채팅 세션에 컨텍스트를 추가합니다.

    • 채팅 참가자는 편집 모드에서 사용할 수 없으므로 프롬프트의 일부로 지정할 @workspace 수 없습니다. 그러나 #codebase를 사용하거나 Visual Studio Code의 탐색기 보기에서 채팅 보기로 파일이나 폴더를 끌어서 놓아 채팅 세션에 컨텍스트를 추가할 수 있습니다. Visual Studio Code를 사용하여 참가자 지침이 포함된 markdown 파일과 같은 외부 파일을 연 다음 컨텍스트 추가 단추를 사용하여 채팅 컨텍스트에 추가합니다.
  4. 원하는 단위 테스트를 만들라는 프롬프트를 입력합니다.

    • 예: "I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework. Create a test file in the same directory as the code file."
  5. 편집 모드를 사용하여 만든 테스트 파일을 검토한 다음 파일을 저장하거나 삭제합니다.

    • 필요한 경우 새 프롬프트를 사용하여 파일을 업데이트하여 특정 테스트를 수정하거나 개선할 수 있습니다.
  6. 테스트 파일을 저장합니다.

    • 테스트 파일은 일반적으로 단위 테스트를 위해 구성된 프로젝트의 별도 "테스트" 디렉터리에 저장됩니다. 옵션은 프로젝트의 구조 및 테스트 프레임워크에 따라 달라집니다.
  7. 테스트를 실행하여 테스트를 통과하고 코드의 기능을 확인합니다.

  8. 필요한 경우 테스트 사례를 더 추가하거나 기존 테스트 사례를 수정하여 테스트를 구체화합니다.

  9. 테스트를 변경한 후 파일을 다시 저장합니다.

에이전트 모드를 사용하여 단위 테스트 만들기

에이전트 모드를 사용하여 단위 테스트 프로세스 내에서 작업을 자동화할 수 있습니다. 예를 들어 에이전트 모드를 사용하여 테스트 프로젝트를 스캐폴드하거나, 테스트 파일을 만들고, 테스트를 실행하거나, 테스트 보고서를 생성하거나, 단위 테스트와 관련된 다른 작업을 수행할 수 있습니다. 에이전트 모드는 프로젝트에 대한 심층적인 이해가 필요한 단위 테스트를 만드는 데 가장 적합합니다.

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

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

  2. 채팅 보기를 열고 에이전트 모드를 사용하여 새 채팅 세션을 시작합니다.

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

    에이전트 모드에서는 컨텍스트를 지정할 필요가 없습니다. 코필로트는 편집할 관련 컨텍스트 및 파일을 자동으로 결정합니다.

  4. 필요에 따라 도구 아이콘을 선택하여 요청에 응답하는 데 사용할 수 있는 도구를 구성합니다.

    • 요청에 응답하는 데 사용할 도구를 선택할 수 있습니다. 예를 들어 테스트를 실행할 테스트 탐색기 도구 또는 터미널 도구를 선택하여 명령을 실행할 수 있습니다.
    • 또한 GitHub Copilot 도구를 선택하여 Copilot의 코드 생성 기능을 사용할 수도 있습니다.
  5. 의도한 작업을 정의하는 프롬프트를 입력합니다.

    • 예: "Ensure that a suitable unit tests 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의 채팅 보기는 단위 테스트를 만드는 데 사용할 수 있는 세 가지 모드인 Ask, Edit 및 Agent를 제공합니다. 각 모드에는 고유한 강점과 약점이 있으며 가장 적합한 모드는 현재 진행 중인 특정 작업에 따라 달라집니다. 질문 모드는 코드 프로젝트, 코딩 토픽 및 일반 기술 개념에 대한 질문을 하도록 최적화되어 있습니다. 편집 모드는 코드베이스의 여러 파일에서 편집하는 데 최적화되어 있습니다. 에이전트 모드는 에이전트 코딩 워크플로를 시작하는 데 최적화되어 있습니다.