Gradle-仅在子项目上运行pitest

时间:2018-08-23 11:20:58

标签: gradle pitest

我正在尝试让詹金斯在我的项目上做得最好。 带有子项目的父build.gradle的事实似乎是一个问题。

运行gradle pitest时,我得到:

  

12:14:17 PIT >>信息:向小黄人发送0个测试类

     

12:14:17 PIT >>信息:将测试发送给小兵

     

12:14:17 PIT >>严重:生成覆盖率时出错。请检查您的类路径是否包含JUnit 4.6或更高版本。

     

线程“ main”中的异常org.pitest.util.PitError:覆盖范围生成小兵异常退出。请检查类路径。

我尝试仅在子项目中配置pitest,正如某些帖子中所建议的那样,但没有任何作用

subprojects { subproject ->
  pitest {
  verbose = true
  targetClasses = ['com.xyz.*']
  threads = 16
  enableDefaultIncrementalAnalysis = true
  historyInputLocation = ['build/reports/pitest/fastermutationtesting']
  historyOutputLocation = ['build/reports/pitest/fastermutationtestingoutput']
  outputFormats = ['XML', 'HTML']
  timestampedReports = true
  mutationThreshold = 80
}

如果我尝试在子项目上运行pitest,例如gradle subOne:pitest gradle说这样的任务不存在。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

尝试gradle:subOne:pitest。

您可以在主项目中包含pitest,子项目不需要重复

答案 1 :(得分:0)

问题实际上是插件的应用方式。

设置后

id 'info.solidsoft.pitest' version '1.3.0' apply false

plugins中,然后添加

apply plugin: 'info.solidsoft.pitest'

subprojects中一切正常。