【问题标题】:parent project pitest failing but subprojects running fine if executed individually父项目pitest失败,但如果单独执行子项目运行良好
【发布时间】:2019-01-30 21:21:03
【问题描述】:

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

> 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) 在 org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:116) 在 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 exited 异常。请检查类路径。

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)

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

【问题讨论】:

    标签: gradlew pitest


    【解决方案1】:

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

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

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 2022-09-23
      相关资源
      最近更新 更多