2

我正在使用 gradle wrapper 来运行我的pitest。我有定义最糟糕的父 build.gradle。我的子项目没有任何小项目。如果我在单个项目上运行 Pitest,例如gradlew clean :myproject:pitest。然后pitest就成功了。但是,如果我尝试使用gradlew clean ptest 从父级运行 ptest。然后它失败并出现以下错误

> Task :pitest
4:57:34 PM PIT >> INFO : Verbose logging is disabled. If you encounter an 
problem please enable it before reporting an issue.
4:57:35 PM PIT >> INFO : Sending 0 test classes to minion
4:57:35 PM PIT >> INFO : Sent tests to minion
4:57:35 PM PIT >> SEVERE : Error generating coverage. Please check that your 
classpath contains JUnit 4.6 or above.
Exception in thread "main" org.pitest.util.PitError: Coverage generation 
minion exited abnormally. Please check the classpath.

Please copy and paste the information and the complete stacktrace below when 
reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.152-b16
Uptime : 2390
Input ->
 1 : -Dfile.encoding=windows-1252
 2 : -Duser.country=US
 3 : -Duser.language=en
 4 : -Duser.variant
BootClassPathSupported : true


Please copy and paste the information and the complete stacktrace below when 
reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.152-b16
Uptime : 2391
Input ->
 1 : -Dfile.encoding=windows-1252
 2 : -Duser.country=US
 3 : -Duser.language=en
 4 : -Duser.variant
BootClassPathSupported : true

    at 
org.pitest.util.Unchecked.translateCheckedException(Unchecked.java:20)
    at 

org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:103) 在

org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:49) 在

org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:115) at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:116) at org.pitest.mutationtest.tooling.EntryPoint.execute( EntryPoint.java:49) 在

org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87) 在

org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45) 原因:org.pitest.util.PitError: Coverage generation minion异常退出。请检查类路径。

Please copy and paste the information and the complete stacktrace below when 
reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.152-b16
Uptime : 2390
Input ->
 1 : -Dfile.encoding=windows-1252
 2 : -Duser.country=US
 3 : -Duser.language=en
 4 : -Duser.variant
BootClassPathSupported : true

    at 

org.pitest.coverage.execute.DefaultCoverageGenerator.gatherCoverageData(DefaultCoverageGenerator.java:137) 在

org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:87)

当我使用大于错误中提到的 4.6 的 JUNIT 4.12 时,任何人都可以指导可能出现的问题。

4

1 回答 1

0

根据我的经验,尽管子模块中没有测试,但仍需要向 Junit 添加显式依赖。

对我来说,这解决了问题:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
</dependency>
于 2019-05-06T07:14:52.263 回答