Amazon Q를 사용하여 유닛 테스트 생성
참고
채팅에서 유닛 테스트를 직접 생성하도록 요청할 수 있습니다. /test를 사용하는 경우 요청이 채팅으로 리디렉션됩니다. generate unit tests for my application이라고 질문해 보세요.
Amazon Q Developer 에이전트는 소프트웨어 개발 수명 주기 전반에 걸쳐 유닛 테스트 생성을 자동화하는 AI 기반 유닛 테스트 생성 기능을 제공합니다. 이 기능은 개발자가 코드 품질을 보장하면서 기능 개발 가속화에 집중할 수 있도록 도와줍니다.
유닛 테스트에서 Amazon Q 에이전트는 다음 단계를 자동화합니다.
-
테스트 사례 식별: 에이전트는 작업 공간에서 프로젝트 구조, 기존 코드 및 대상 파일을 사용하여 적절한 테스트 사례를 식별합니다.
-
모의 및 스텁 생성: Amazon Q는 격리된 테스트에 필요한 모의 및 스텁을 생성합니다.
-
테스트 코드 생성: 에이전트는 식별된 테스트 사례를 기반으로 유닛 테스트를 생성합니다.
유닛 테스트를 위해 Amazon Q 에이전트는 VS Code와 JetBrains IDE에서 Java 및 Python 프로젝트를 지원합니다. 각 프로그래밍 언어에 지원되는 테스트 프레임워크에 대한 자세한 내용은 /test를 사용한 유닛 테스트 생성에 대한 언어 및 프레임워크 지원 섹션을 참조하세요.
사전 조건
유닛 테스트 생성 기능을 사용하려면 VS Code 또는 JetBrains IDE용 Amazon Q IDE 확장을 다운로드하여 설치해야 합니다. IDE에서 Amazon Q Developer 확장 또는 플러그인 설치의 지침에 따라 확장을 설정합니다.
참고
IDE에 테스트 프레임워크가 설정된 기능 프로젝트는 선택 사항이지만 권장됩니다.
/test를 사용하여 유닛 테스트 생성
참고
채팅에서 유닛 테스트를 직접 생성하도록 요청할 수 있습니다. /test를 사용하는 경우 요청이 채팅으로 리디렉션됩니다. generate unit tests for my application이라고 질문해 보세요.
코드를 작성한 후 개발자는 두 가지 주요 방법으로 유닛 테스트 생성을 시작할 수 있습니다.
-
Amazon Q 채팅에
/test를 입력합니다. 고려할 클래스, 함수 또는 메서드에 대한 지침을 선택적으로 지정합니다. -
코드 섹션을 강조 표시하고 Amazon Q 메뉴를 마우스 오른쪽 버튼으로 클릭한 다음 테스트 생성 옵션을 선택합니다.
개발자가 추가 프롬프트 없이 /test 명령을 사용하는 경우 에이전트는 다음을 수행합니다.
-
IDE에서 현재 활성 파일을 검사합니다.
-
테스트 디렉터리에 이 활성 파일에 해당하는 유닛 테스트 파일이 있는지 확인합니다.
-
테스트 파일을 찾을 수 없는 경우 자동으로 새 파일이 생성됩니다. 새 테스트 파일의 이름은 원본 파일의 이름을 따서 지정되며, 사용 중인 테스트 프레임워크를 기반으로
test접두사 또는 접미사가 추가되고 테스트 디렉터리에 배치됩니다. -
테스트 파일이 이미 있는 경우 새 유닛 테스트를 기존 파일에 추가합니다.
유닛 테스트 생성 프로세스
업로드 프로세스는 다음과 같은 단계로 구성됩니다.
-
입력 추론: Amazon Q는 작업 공간 컨텍스트 및 구성된 테스트 프레임워크를 기반으로 대상 코드, 출력 파일, 적절한 테스트 및 모의를 추론합니다. 에이전트는 생성된 테스트를 기존 또는 새 테스트 파일에 배치할지 식별하고 테스트할 대상 코드를 결정합니다. 개발자는 원할 경우 대상 코드와 대상 파일 이름을 지정하는 지침을 제공할 수 있습니다.
-
컨텍스트 보강: Amazon Q 유닛 테스트 에이전트는 진행 중인 프로젝트를 컨텍스트로 사용하여 IDE 프로젝트의 코드 및 종속성과 일치하는 테스트를 생성할 수 있습니다.
-
테스트 생성: Amazon Q 에이전트는 유닛 테스트 생성에 적합한 입력을 유추하거나 사용자가 해당 정보를 수동으로 제공하도록 허용합니다. 그런 다음 유닛 테스트를 생성합니다. 이 프로세스 전반에 걸쳐 에이전트는 채팅으로 진행 상황 업데이트를 제공합니다.
참고
-
대규모 프로젝트에서 작업하는 경우 초기 프로젝트 분석에 다소 시간이 걸릴 수 있습니다. 이 프로세스 중에 진행률 지표가 오랫동안 0%로 유지될 수 있습니다. 이는 Amazon Q가 프로젝트 파일을 인덱싱하고 업로드할 때의 일반적인 동작입니다.
-
유닛 테스트 생성은 한 번에 한 파일씩 수행됩니다. 파일이 여러 개인 경우 각 파일에서 별도로
/test명령을 사용합니다.
-
-
사용자 검토: Amazon Q는 최종 생성된 테스트에 대한 차이를 제공합니다. 개발자는 생성된 테스트를 검토하고 다음을 선택할 수 있습니다.
-
제안된 테스트를 수락합니다.
-
변경 사항을 거부합니다.
-
사용 및 고려 사항
유닛 테스트용 Amazon Q 에이전트에는 구독 티어에 따라 일반 사용 제한이 적용됩니다. 이러한 제한은 모든 Amazon Q 기능에서 공유됩니다.
참고
각 /test 명령은 프리 티어 내의 사용량 한도에 포함됩니다.
Amazon Q 서비스 티어, 할당량 및 요금에 대한 자세한 내용은 Amazon Q의 서비스 등급 이해를 참조하세요.
AWS Management Console의 Amazon Q 대시보드를 사용하여 생성된 유닛 테스트 수, 승인된 유닛 테스트 수, 승인률과 같은 유닛 테스트 생성 지표를 추적할 수 있습니다. 할당량 제한 기능의 사용량을 모니터링하고 기능별 세부 비용 보고서에 액세스할 수도 있습니다. Amazon Q 대시보드에 대한 자세한 내용은 대시보드에서 Amazon Q Developer 사용자 활동 보기 섹션을 참조하세요.