Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PIT突变检测:覆盖率世代仆从异常退出_Java_Maven_Mutation Testing_Pitest - Fatal编程技术网

Java PIT突变检测:覆盖率世代仆从异常退出

Java PIT突变检测:覆盖率世代仆从异常退出,java,maven,mutation-testing,pitest,Java,Maven,Mutation Testing,Pitest,我在詹金斯和马文一起使用 在我的pom.xml中 <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>1.1.8</version> <configuration>

我在詹金斯和马文一起使用

在我的
pom.xml

        <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>1.1.8</version>
            <configuration>
                <targetClasses>
                    <param>com.**********</param>
                </targetClasses>
                <targetTests>
                    <param>com.**********</param>
                </targetTests>
            </configuration>
        </plugin>
我启用了详细输出:

mvn -DwithHistory -Dverbose org.pitest:pitest-maven:mutationCoverage | tee mvn.log
我得到这个错误:

Failed to execute goal org.pitest:pitest-maven:1.1.8:mutationCoverage (default-cli) on project model: Execution default-cli of goal org.pitest:pitest-maven:1.1.8:mutationCoverage failed: Coverage generation minion exited abnormally!
我在Maven输出中也有这样的内容:

在启用详细日志记录的情况下更新

[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ********** - model 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- pitest-maven:1.1.8:mutationCoverage (default-cli) @ model ---
[INFO] Found plugin : Default csv report plugin
[INFO] Found plugin : Default xml report plugin
[INFO] Found plugin : Default html report plugin
[INFO] Found plugin : Default limit mutations plugin
[INFO] Found shared classpath plugin : Default mutation engine
[INFO] Adding org.pitest:pitest to SUT classpath
[INFO] Mutating from /var/lib/jenkins/sharedspace/**********/model/target/classes
[INFO] Will read and write history at /tmp/com.**********.model.1.0-SNAPSHOT_pitest_history.bin
10:38:57 AM PIT >> FINE : Running report with ReportOptions [targetClasses=[^com\.**********.*$], excludedMethods=[], excludedClasses=[], codePaths=[/var/lib/jenkins/sharedspace/**********/model/target/classes], reportDir=/var/lib/jenkins/sharedspace/**********/model/target/pit-reports, historyInputLocation=/tmp/com.**********.model.1.0-SNAPSHOT_pitest_history.bin, historyOutputLocation=/tmp/com.**********.model.1.0-SNAPSHOT_pitest_history.bin, sourceDirs=[/var/lib/jenkins/sharedspace/**********/model/src/main/java, /var/lib/jenkins/sharedspace/**********/model/src/test/java], classPathElements=[/var/lib/jenkins/sharedspace/**********/model/target/test-classes, /var/lib/jenkins/sharedspace/**********/model/target/classes, /var/lib/jenkins/.m2/repository/com/**********/core/1.0-SNAPSHOT/core-1.0-SNAPSHOT.jar, /var/lib/jenkins/.m2/repository/com/**********/basics/1.0-SNAPSHOT/basics-1.0-SNAPSHOT.jar, /var/lib/jenkins/.m2/repository/com/**********/**********/1.0-SNAPSHOT/**********-1.0-SNAPSHOT.jar, /var/lib/jenkins/.m2/repository/junit/junit/4.12/junit-4.12.jar, /var/lib/jenkins/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar, /var/lib/jenkins/.m2/repository/pl/pragmatists/JUnitParams/1.0.4/JUnitParams-1.0.4.jar, /var/lib/jenkins/.m2/repository/org/slf4j/slf4j-api/1.7.13/slf4j-api-1.7.13.jar, /var/lib/jenkins/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar, /var/lib/jenkins/.m2/repository/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar, /var/lib/jenkins/.m2/repository/org/pitest/pitest/1.1.8/pitest-1.1.8.jar], mutators=[], dependencyAnalysisMaxDistance=-1, mutateStaticInitializers=false, jvmArgs=[], numberOfThreads=1, timeoutFactor=1.25, timeoutConstant=3000, targetTests=[^com\.**********.*$], loggingClasses=[], maxMutationsPerClass=-1, verbose=true, failWhenNoMutations=true, outputs=[HTML], groupConfig=TestGroupConfig [excludedGroups=[], includedGroups=[com.**********.test.annotations.type.UnitTest]], mutationUnitSize=0, shouldCreateTimestampedReports=true, detectInlinedCode=true, exportLineCoverage=false, mutationThreshold=0, coverageThreshold=0, mutationEngine=gregor, javaExecutable=null, includeLaunchClasspath=true]
10:38:57 AM PIT >> FINE : System class path is /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven32-agent-1.7.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn3.2.2/boot/plexus-classworlds-2.5.1.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn3.2.2/conf/logging
10:38:57 AM PIT >> FINE : Maximum available memory is 2009 mb
10:38:57 AM PIT >> FINE : MINION : Installing PIT agent

10:38:57 AM PIT >> INFO : Sending 1 test classes to minion
10:38:57 AM PIT >> INFO : Sent tests to minion
10:38:58 AM PIT >> INFO : MINION : 10:38:58 AM PIT >> INFO : Checking environment
10:38:58 AM PIT >> FINE : Expecting 1 tests classes from parent
10:38:58 AM PIT >> FINE : Tests classes received

10:38:58 AM PIT >> INFO : MINION : 10:38:58 AM PIT >> SEVERE : Error calculating coverage. Process will exit.
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
    at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:715)
    at sun.ref
10:38:58 AM PIT >> INFO : MINION : lect.annotation.AnnotationParser.parseArray(AnnotationParser.java:522)
    at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:348)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:283)
    at sun.r
10:38:58 AM PIT >> INFO : MINION : eflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:117)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:70)
    at java.lang.Class.initAnnotationsIfNecessary(Class.java:3281)
    at java.lang.Class.getAn
10:38:58 AM PIT >> INFO : MINION : notation(Class.java:3229)
    at org.pitest.junit.JUnit4SuiteFinder.apply(JUnit4SuiteFinder.java:30)
    at org.pitest.junit.JUnit4SuiteFinder.apply(JUnit4SuiteFinder.java:26)
    at org.pitest.extension.common.CompoundTestSuiteFinder.apply(CompoundTestSuiteFinder.
10:38:58 AM PIT >> INFO : MINION : java:20)
    at org.pitest.extension.common.CompoundTestSuiteFinder.apply(CompoundTestSuiteFinder.java:9)
    at org.pitest.extension.common.CompoundTestSuiteFinder.apply(CompoundTestSuiteFinder.java:20)
    at org.pitest.extension.common.CompoundTestSuiteFinder.ap
10:38:58 AM PIT >> INFO : MINION : ply(CompoundTestSuiteFinder.java:9)
    at org.pitest.testapi.execute.FindTestUnits.findTestUnits(FindTestUnits.java:47)
    at org.pitest.testapi.execute.FindTestUnits.getTestUnits(FindTestUnits.java:40)
    at org.pitest.testapi.execute.FindTestUnits.findTestUnit
10:38:58 AM PIT >> INFO : MINION : sForAllSuppliedClasses(FindTestUnits.java:29)
    at org.pitest.coverage.execute.CoverageMinion.discoverTests(CoverageMinion.java:147)
    at org.pitest.coverage.execute.CoverageMinion.getTestsFromParent(CoverageMinion.java:128)
    at org.pitest.coverage.execute.C
10:38:58 AM PIT >> INFO : MINION : overageMinion.main(CoverageMinion.java:79)

10:38:58 AM PIT >> SEVERE : Coverage generator Minion exited abnormally due to UNKNOWN_ERROR
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
导致错误的错误是什么?我如何解决它

编辑


我可能应该看看Jenkins服务器上的一个配置问题,因为当我在本地的一个“流浪者”框中进行配置时,它会工作。我只是不知道从哪里开始。

错误是否可以在本地重现?你以前有过早期的PIT版本吗?是否只有在启用增量分析的情况下才会发生(
-DwithHistory
)?我必须等到回到办公室后才能在本地复制它。它以前也曾在同一版本中使用过增量分析。我不知道相关的配置更改,只知道对分析代码的更改(新提交)。我将在不进行增量分析的情况下进行检查。您可以使用
-Dverbose
启用详细日志记录。它可能会提供更多信息。@AmedeeVanGasse以前没有在pitest中看到过这一点,但是
java.lang.ArrayStoreException:sun.reflect.annotation.TypeNotPresentExceptionProxy
通常表示批注引用的类不在类路径上。调试中的类路径是否包含您期望的所有内容?你最近有没有引入新的库/框架?我决定暂时放弃pitest。在我投入的时间里,它没有给我足够的附加值。
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ********** - model 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- pitest-maven:1.1.8:mutationCoverage (default-cli) @ model ---
[INFO] Found plugin : Default csv report plugin
[INFO] Found plugin : Default xml report plugin
[INFO] Found plugin : Default html report plugin
[INFO] Found plugin : Default limit mutations plugin
[INFO] Found shared classpath plugin : Default mutation engine
[INFO] Adding org.pitest:pitest to SUT classpath
[INFO] Mutating from /var/lib/jenkins/sharedspace/**********/model/target/classes
[INFO] Will read and write history at /tmp/com.**********.model.1.0-SNAPSHOT_pitest_history.bin
10:38:57 AM PIT >> FINE : Running report with ReportOptions [targetClasses=[^com\.**********.*$], excludedMethods=[], excludedClasses=[], codePaths=[/var/lib/jenkins/sharedspace/**********/model/target/classes], reportDir=/var/lib/jenkins/sharedspace/**********/model/target/pit-reports, historyInputLocation=/tmp/com.**********.model.1.0-SNAPSHOT_pitest_history.bin, historyOutputLocation=/tmp/com.**********.model.1.0-SNAPSHOT_pitest_history.bin, sourceDirs=[/var/lib/jenkins/sharedspace/**********/model/src/main/java, /var/lib/jenkins/sharedspace/**********/model/src/test/java], classPathElements=[/var/lib/jenkins/sharedspace/**********/model/target/test-classes, /var/lib/jenkins/sharedspace/**********/model/target/classes, /var/lib/jenkins/.m2/repository/com/**********/core/1.0-SNAPSHOT/core-1.0-SNAPSHOT.jar, /var/lib/jenkins/.m2/repository/com/**********/basics/1.0-SNAPSHOT/basics-1.0-SNAPSHOT.jar, /var/lib/jenkins/.m2/repository/com/**********/**********/1.0-SNAPSHOT/**********-1.0-SNAPSHOT.jar, /var/lib/jenkins/.m2/repository/junit/junit/4.12/junit-4.12.jar, /var/lib/jenkins/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar, /var/lib/jenkins/.m2/repository/pl/pragmatists/JUnitParams/1.0.4/JUnitParams-1.0.4.jar, /var/lib/jenkins/.m2/repository/org/slf4j/slf4j-api/1.7.13/slf4j-api-1.7.13.jar, /var/lib/jenkins/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar, /var/lib/jenkins/.m2/repository/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar, /var/lib/jenkins/.m2/repository/org/pitest/pitest/1.1.8/pitest-1.1.8.jar], mutators=[], dependencyAnalysisMaxDistance=-1, mutateStaticInitializers=false, jvmArgs=[], numberOfThreads=1, timeoutFactor=1.25, timeoutConstant=3000, targetTests=[^com\.**********.*$], loggingClasses=[], maxMutationsPerClass=-1, verbose=true, failWhenNoMutations=true, outputs=[HTML], groupConfig=TestGroupConfig [excludedGroups=[], includedGroups=[com.**********.test.annotations.type.UnitTest]], mutationUnitSize=0, shouldCreateTimestampedReports=true, detectInlinedCode=true, exportLineCoverage=false, mutationThreshold=0, coverageThreshold=0, mutationEngine=gregor, javaExecutable=null, includeLaunchClasspath=true]
10:38:57 AM PIT >> FINE : System class path is /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven32-agent-1.7.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn3.2.2/boot/plexus-classworlds-2.5.1.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn3.2.2/conf/logging
10:38:57 AM PIT >> FINE : Maximum available memory is 2009 mb
10:38:57 AM PIT >> FINE : MINION : Installing PIT agent

10:38:57 AM PIT >> INFO : Sending 1 test classes to minion
10:38:57 AM PIT >> INFO : Sent tests to minion
10:38:58 AM PIT >> INFO : MINION : 10:38:58 AM PIT >> INFO : Checking environment
10:38:58 AM PIT >> FINE : Expecting 1 tests classes from parent
10:38:58 AM PIT >> FINE : Tests classes received

10:38:58 AM PIT >> INFO : MINION : 10:38:58 AM PIT >> SEVERE : Error calculating coverage. Process will exit.
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
    at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:715)
    at sun.ref
10:38:58 AM PIT >> INFO : MINION : lect.annotation.AnnotationParser.parseArray(AnnotationParser.java:522)
    at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:348)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:283)
    at sun.r
10:38:58 AM PIT >> INFO : MINION : eflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:117)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:70)
    at java.lang.Class.initAnnotationsIfNecessary(Class.java:3281)
    at java.lang.Class.getAn
10:38:58 AM PIT >> INFO : MINION : notation(Class.java:3229)
    at org.pitest.junit.JUnit4SuiteFinder.apply(JUnit4SuiteFinder.java:30)
    at org.pitest.junit.JUnit4SuiteFinder.apply(JUnit4SuiteFinder.java:26)
    at org.pitest.extension.common.CompoundTestSuiteFinder.apply(CompoundTestSuiteFinder.
10:38:58 AM PIT >> INFO : MINION : java:20)
    at org.pitest.extension.common.CompoundTestSuiteFinder.apply(CompoundTestSuiteFinder.java:9)
    at org.pitest.extension.common.CompoundTestSuiteFinder.apply(CompoundTestSuiteFinder.java:20)
    at org.pitest.extension.common.CompoundTestSuiteFinder.ap
10:38:58 AM PIT >> INFO : MINION : ply(CompoundTestSuiteFinder.java:9)
    at org.pitest.testapi.execute.FindTestUnits.findTestUnits(FindTestUnits.java:47)
    at org.pitest.testapi.execute.FindTestUnits.getTestUnits(FindTestUnits.java:40)
    at org.pitest.testapi.execute.FindTestUnits.findTestUnit
10:38:58 AM PIT >> INFO : MINION : sForAllSuppliedClasses(FindTestUnits.java:29)
    at org.pitest.coverage.execute.CoverageMinion.discoverTests(CoverageMinion.java:147)
    at org.pitest.coverage.execute.CoverageMinion.getTestsFromParent(CoverageMinion.java:128)
    at org.pitest.coverage.execute.C
10:38:58 AM PIT >> INFO : MINION : overageMinion.main(CoverageMinion.java:79)

10:38:58 AM PIT >> SEVERE : Coverage generator Minion exited abnormally due to UNKNOWN_ERROR
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s