반응형
회사 동기들과 프로젝트를 진행 중에 테스트 커버리지 툴을 도입하자고 설득하여 도입했습니다.
간단히 사용법을 정리해보려고 합니다.
build.gradle에 의존성을 추가해줍니다.
plugins {
id 'org.springframework.boot' version '2.6.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'jacoco'
}
jacocoTestCoverageVerification {
violationRules {
rule {
// 'element'가 없으면 프로젝트의 전체 파일을 합친 값을 기준으로 한다.
limit {
// 'counter'를 지정하지 않으면 default는 'INSTRUCTION'
// 'value'를 지정하지 않으면 default는 'COVEREDRATIO'
minimum = 0.30
}
}
rule {
// 룰을 간단히 켜고 끌 수 있다.
enabled = true
// 룰을 체크할 단위는 클래스 단위
element = 'CLASS'
// 브랜치 커버리지를 최소한 90% 만족시켜야 한다.
limit {
counter = 'BRANCH'
value = 'COVEREDRATIO'
minimum = 0.90
}
// 라인 커버리지를 최소한 80% 만족시켜야 한다.
limit {
counter = 'LINE'
value = 'COVEREDRATIO'
minimum = 0.80
}
// 빈 줄을 제외한 코드의 라인수를 최대 200라인으로 제한한다.
limit {
counter = 'LINE'
value = 'TOTALCOUNT'
maximum = 200
}
// 커버리지 체크를 제외할 클래스들
excludes = [
// '*.test.*',
]
}
}
}
의존성을 추가하게 되면 아래와 같이
Tasks -> verification -> test가 생기게 됩니다. 클릭하여 테스트 코드를 돌리게 되면
build 안에 index.html 파일이 생깁니다. 엑셀 파일, html, 등등... 파일 저장방법을 설정해줄 수 있습니다.
html 파일을 실행시키면 테스트 코드 커버리지를 확인해볼 수 있습니다. 실패한 테스트 케이스와 성공한 테스트 케이스. duration과 커버리지 퍼센트를 알 수 있습니다. 아래의 게시글을 참고하여 구성했습니다. 추후에 테스트 커버리지가 일정 퍼센트가 넘어야 빌드를 할 수 있도록
추가해볼 예정입니다. 감사합니다.
👍 참고 글
https://techblog.woowahan.com/2661/
반응형
'혼자 공부하는 것들 > Spring' 카테고리의 다른 글
Spring Boot에서 타임리프 이미지 동적 리소스 사용하기 (0) | 2022.02.23 |
---|---|
[Spring Boot] mybatis update, delete 무한대기 (0) | 2022.02.21 |
Spring Boot 이미지업로드 (환경: gradle, java11,Spring Boot 2.6.2, thymeleaf) (0) | 2022.02.14 |
Spring 빈 스코프를 알아보자♻️ (1) | 2022.01.31 |
@validation 이용해서 값 검증하기 + 예외처리까지!🔍 (0) | 2022.01.30 |
댓글