Diffblue Cover
당신은 CI/CD 파이프라인에 Diffblue Cover 강화 학습 AI 도구를 통합하여 GitLab 프로젝트를 위한 Java 단위 테스트를 자동으로 작성하고 유지할 수 있습니다.
Diffblue Cover의 GitLab 통합을 통해 자동으로 다음을 수행할 수 있습니다:
- 프로젝트를 위한 기본 단위 테스트 스위트 작성.
- 새로운 코드에 대한 새로운 단위 테스트 작성.
- 코드의 기존 단위 테스트 업데이트.
- 더 이상 필요하지 않은 코드의 기존 단위 테스트 제거.
통합 구성
Diffblue Cover를 파이프라인에 통합하려면:
- Diffblue Cover 통합을 찾아 구성합니다.
- GitLab 파이프라인 편집기 및 Diffblue Cover 파이프라인 템플릿을 사용하여 샘플 프로젝트에 대한 파이프라인을 구성합니다.
- 프로젝트에 대한 전체 기본 단위 테스트 스위트를 생성합니다.
Diffblue Cover 구성
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 샘플 프로젝트로 통합을 테스트하고 싶다면 가져오기
Diffblue Spring PetClinic 샘플 프로젝트를 선택할 수 있습니다.
- 샘플 프로젝트로 통합을 테스트하고 싶다면 가져오기
- Settings > Integrations를 선택합니다.
- Diffblue Cover를 찾아 Configure를 선택합니다.
-
필드를 완료합니다:
- Active 체크박스를 선택합니다.
- 환영 이메일 또는 조직에서 제공한 Diffblue Cover License key를 입력합니다.
필요하다면 Try Diffblue Cover 링크를 선택하여 무료 평가판에 등록합니다. -
Diffblue Cover가 프로젝트에 접근할 수 있도록 GitLab 액세스 토큰의 세부정보 (Name 및 Secret)를 입력합니다.
일반적으로Developer
역할 및api
와write_repository
범위를 가진 GitLab 프로젝트 액세스 토큰을 사용합니다.
필요한 경우Developer
역할 및api
와write_repository
범위를 가진 그룹 액세스 토큰 또는 개인 액세스 토큰을 사용할 수 있습니다.과도한 권한의 액세스 토큰 사용은 보안 위험입니다.
개인 액세스 토큰을 사용하는 경우, 프로젝트에만 접근이 제한된 전용 사용자를 생성하여 토큰 유출의 영향을 최소화하는 것을 고려합니다.
-
Save changes를 선택합니다.
이제 Diffblue Cover 통합이 **Active** 상태이며 프로젝트에서 사용할 준비가 되었습니다.
파이프라인 구성
여기에서는 Diffblue Cover의 최신 버전을 다운로드하고 프로젝트를 빌드하며, 프로젝트의 Java 단위 테스트를 작성하고 변경 사항을 브랜치에 커밋하는 병합 요청 파이프라인을 생성합니다.
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
Diffblue-Cover.gitlab-ci.yml
템플릿의 내용을
프로젝트의.gitlab-ci.yml
파일에 복사합니다.자신의 프로젝트와 기존 파이프라인 파일과 함께 Diffblue Cover 파이프라인 템플릿을 사용할 때,
Diffblue 템플릿 내용을 파일에 추가하고 필요에 따라 수정합니다.
더 많은 정보는 Diffblue 문서의 Cover Pipeline for GitLab을 참조하세요. - 커밋 메시지를 입력합니다.
- 새로운 Branch 이름을 입력합니다. 예를 들어,
add-diffblue-cover-pipeline
입니다. - Start a new merge request with these changes를 선택합니다.
- Commit changes를 선택합니다.
기준 단위 테스트 스위트 생성
-
새 병합 요청 양식에서 제목을 입력하세요 (예: “Cover 파이프라인 추가 및 기준 단위 테스트 스위트 생성”) 및 다른 필드를 채우세요.
-
병합 요청 생성을 선택하세요. 병합 요청 파이프라인이 Diffblue Cover를 실행하여 프로젝트의 기준 단위 테스트 스위트를 생성합니다.
-
파이프라인이 완료되면 변경 사항 탭에서 변경 내용을 검토할 수 있습니다. 만족스럽다면 변경 사항을 리포에 병합하세요. 프로젝트 리포의
src/test
폴더로 가서 Diffblue Cover에 의해 생성된 단위 테스트를 확인하세요 (*DiffblueTest.java
접미사가 붙습니다).
이후 코드 변경 사항
프로젝트에 후속 코드 변경을 수행할 때, 병합 요청 파이프라인이 Diffblue Cover를 실행하지만 관련된 테스트만 업데이트합니다.
결과적으로 생성된 차이를 분석하여 새로운 동작을 확인하고, 회귀를 포착하며, 코드에 대한 계획되지 않은 동작 변경 사항을 발견할 수 있습니다.
다음 단계
이 주제는 GitLab의 Cover Pipeline의 주요 기능들을 보여주고 파이프라인에서 통합을 사용하는 방법을 설명합니다.
파이프라인 템플릿의 dcover
명령을 통해 제공되는 더 넓고 깊은 기능은 단위 테스트 능력을 더욱 확장하는 데 활용될 수 있습니다.
자세한 정보는 Diffblue 문서의 GitLab용 Cover Pipeline을 참조하세요.