인프런 커뮤니티 질문&답변

조재연님의 프로필 이미지

작성한 질문수

쥬쥬와 함께 하루만에 끝내는 스프링 테스트

테스트 커버리지 검증 : 테스트 코드는 얼마나 테스트하고 있을까?

JaCoCo 레포트 파일이 안생깁니다.

해결된 질문

작성

·

534

·

수정됨

2

안녕하세요. 강의 잘 듣고 있습니다.

스크린샷 2023-09-25 오후 8.59.01.png

노션에 있는 그대로 코드를 작성했는데 아무리 테스트가 끝나도

jacoco 안에 파일이 안생깁니다.

 

그래서 terminal 에서 ./gradlew jacocoTestReport 를 했는데

BUILD SUCCESSFUL 은 나오는데 파일이 안생기는데 이유를 모르겠습니다!

 

답변 1

1

쥬쥬님의 프로필 이미지
쥬쥬
지식공유자

안녕하세요! 지식공유자 쥬쥬입니다.

 

혹시 아래 내용이 build.gradle에 잘 입력이 되어있을까요? ./gradlew test 로 확인하시는 것이 보다 정확합니다 !

 

tasks.named('test') {
    // ...

    jacoco {}
    finalizedBy(tasks.jacocoTestReport)
}

 

조재연님의 프로필 이미지
조재연
질문자

넵! 이렇게 잘 입력했습니다.

jacoco {
	toolVersion = "0.8.8"
}

tasks.named('test') {
	// ...

	jacoco {}
	finalizedBy(tasks.jacocoTestReport)
}

tasks.jacocoTestReport {
	reports {
		xml.required = true
		html.required = true
		csv.required = false

		xml.destination(file("build/jacoco/jacoco.xml"))
		html.destination(file("build/jacoco/jacoco.html"))
	}

	finalizedBy(tasks.jacocoTestCoverageVerification)
}

tasks.jacocoTestCoverageVerification {
	violationRules {
		rule {
			enabled = true
			element = "CLASS"

			limit {
				counter = "LINE"
				value = "COVEREDRATIO"
				minimum = BigDecimal.valueOf(0.5)
			}

			limit {
				counter = "LINE"
				value = "TOTALCOUNT"
				maximum = BigDecimal.valueOf(300)
			}

			excludes = List.of(
					"*.test.*",
					"*.controller.*",
					"com.jaeyeon.dayonetest.dayonetest.MyCalculatorApplication",
					"com.jaeyeon.dayonetest.dayonetest.DayonetestApplication",
			)
		}
	}
}
쥬쥬님의 프로필 이미지
쥬쥬
지식공유자

안녕하세요! 재연님 tasks.named('test') 부분을 아래처럼 변경해주세요!

 

노션에 제가 주석으로 해놓은 곳을 생략이라고 정확히 명시해놓았어야 했는데, 이 부분이 혼동을 준 것 같습니다! 🥲

 

tasks.named('test') {
    useJUnitPlatform()

    jacoco {}
    finalizedBy(tasks.jacocoTestReport)
}

 

감사합니다 !

 

조재연님의 프로필 이미지
조재연
질문자

제가 깜빡하고 빼먹은 부분이 있었네요 !! ㅜ

감사합니다~