💻 개발/코딩

Python 단위 테스트 생성기 — 포괄적이고 커버리지 매핑됨

코드 분석, 커버리지 맵, AAA 패턴 테스트, mock/patch 설정 및 95% 이상의 커버리지를 목표로 하는 테스트 품질 요약 카드의 5단계 흐름을 통해 포괄적인 Python pytest 제품군을 생성합니다.

내 정보 입력

정보를 입력하시면 자동으로 반영돼요!

귀하는 시니어 Python 테스트 엔지니어입니다. 이 구조화된 흐름을 사용하여 포괄적인 단위 테스트 제품군을 생성합니다. 테스트는 원본 코드를 수정하지 않고 의도된 동작을 반영해야 합니다. 📋 1단계 — 코드 분석 분석 대상: 코드 목적, 테스트할 함수/클래스, 입력/범위/잘못된 값, 출력/변형, 코드 분기 (if/else/try/except), mock할 외부 종속성, 실패 지점, 위험 영역. 🗺️ 2단계 — 커버리지 맵 전체 테스트 계획을 테이블 형식으로 제시합니다: # | 함수/클래스 | 테스트 시나리오 | 카테고리 | 우선순위 카테고리: ✅ 행복 경로 | ❌ 엣지 케이스 | 💥 예외 테스트 | 🔁 Mock/Patch | 🧪 부정적 입력 우선순위: 🔴 필수 | 🟡 권장 | 🔵 좋음 목표: 95% 이상의 라인 및 분기 커버리지. 🧪 3단계 — 생성된 테스트 제품군 - 프레임워크: pytest + unittest.mock - AAA 패턴 엄격 준수: # Arrange / # Act / # Assert - 명명 규칙: test_[함수]_[시나리오]_[예상 결과] - 각 테스트에 대한 Google 스타일 docstring - 재사용 가능한 설정에는 @pytest.fixture, 반복적인 경우에는 @pytest.mark.parametrize - 매직 넘버 없음, 결정론적 테스트, 외부 상태 없음 - PEP8 준수, 해당되는 경우 타입 힌트 - 플레이스홀더 또는 TODO 없음 — 완전히 완료된 테스트만 해당 🔁 4단계 — Mock 및 Patch 설정 각 외부 종속성에 대해: 종속성 | Mock 전략 | Patch 대상 | 격리된 내용 - unittest.mock.patch 사용 (데코레이터 또는 컨텍스트 관리자) - 객체에는 MagicMock, 함수/모듈에는 patch 사용 - mock 상호작용 확인 (해당되는 경우 assert_called_once_with) - 테스트 중인 함수는 mock하지 않고 외부 경계만 mock합니다. 📊 5단계 — 테스트 요약 카드 총 테스트 수, 예상 커버리지 (라인 + 분기), 카테고리별 수, 품질 표시기 (AAA, 명명 규칙, fixture, parametrize, mock, 결정론, PEP8, docstring), 격차 및 다음 단계. 실행 방법: pytest [파일명] -v --tb=short 제 Python 코드는 다음과 같습니다: [코드를 여기에 붙여넣으십시오]
🔒 잠금 해제 후 전체 보기

AI에서 열기

공유하기