JUnit을 사용하여 간단한 단위 테스트()를 작성하고 Spock을 사용하여보다 복잡한 데이터 기반 유닛 테스트 (test/groovy
)를 수행하는 project이 있습니다. 나는 이것을 Gradle로 제작했다.JaCoCo가 내 JUnit을보고 Spock 테스트를 무시하는 이유는 무엇입니까?
제 문제는 JaCoCo 보고서를 생성 할 때 JUnit 테스트를 고려하기 때문에 코드 커버리지가 매우 낮습니다. 나는 IntelliJ, Pitest 및 via Gradle에서이 테스트를 모두 잘 수행 할 수 있으며 모든 테스트를 찾아 정확한 라인 범위를보고합니다.
내가 JaCoCo 모두 테스트 프레임 워크를 사용하여 라인의 범위를보고 어떻게합니까
(나는 JaCoCo 내 GitHub의 방패를 설정해야합니다)?
내가 프로젝트에서 src/test/java
를 제거하고 ./gradlew clean build jacocoTestReport
를 사용하여 JaCoCo 보고서를 생성 할 경우, build/reports/jacoco/test/html/index.html
에보고
group 'com.rox'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'jacoco'
apply plugin: 'info.solidsoft.pitest'
apply plugin: 'application'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.11'
compile group: 'junit', name: 'junit', version: '4.11'
compile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
compile group: 'org.spockframework', name: 'spock-core', version: '1.1-groovy-2.4-rc-1'
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "info.solidsoft.gradle.pitest:gradle-pitest-plugin:1.1.4"
}
}
task runDebugUI(type: JavaExec, group: 'run') {
classpath sourceSets.main.runtimeClasspath
main = mainClassName = 'com.rox.emu.P6502.dbg.UI'
}
와우, 당신은 정말로 그것에 대해 조사했습니다. 감사. 그것은 나를 위해 오래된 테스트 컴파일을 사용하여 이상한 일을하고있는 것 같아요, 깨끗한, 빌드 테스트 및 다시 실행 보고서를 고정. 감사합니다. –
p.s. GitHub의 코드 범위는 내가 고칠 때까지 사용할 수 없었습니다 :) –
@RossDrew JaCoCo 개발자 중 한 명을 만났습니다.) 특히 재밌는 재생기가 제공되는 경우 도움이되었으므로 기꺼이 도와 드리겠습니다. 해결 된 문제! – Godin