0

我有一个巨大的项目,我正在用 Pitest 测试突变测试。该项目采用 OSGi 形式,所有模块都分开。我有这个结构:

|-1.myProgramm-parent
 |-pom.xml
 |-2.myProgramm.module1
  |-pom.xml
 |-2.myProgramm.module1.Test
  |-pom.xml
 |-3.myProgramm.module2
  |-pom.xml
 |-3.myProgramm.module2.Test
   |-pom.xml
...等等。

现在我从我需要的所有 Pitest 配置中放入 pom.xml 1.myProgramm-parent(取自 Pitest.org 的官方网站)。targetClasses和位于我需要使用的targetTestspom.xml 中。2.myProgramm.module1.Test

Pitest 找到所有 7 个测试类以进行最小化。并发送它们。然后gathering for test description也很好。Coverage generator Minion excited ok. 然后:created 0 mutation test units.

并显示构建失败。No mutations found.

我已经尝试了所有可能出现在 Pitest.org 上的注释,例如targetClassestargetTestsadditionalClasspathElements.

我怎么能说 testClasses 在这个文件夹中,2.myProgramm.module1.Test我在 pom.xml 中设置了。但是要缩小的普通 javaClasses 在这个包中:targetClassestargetTests2.myProgramm.module1

我怎么知道,走出你的测试文件夹并进入文件夹?

我还用普通的 javaClasses 给出了文件夹的纯路径,但没有反应。

你有想法吗?

附言。这不是我的程序。我没写。我只是在努力,以测试。我已经有 11 个其他的 Maven 和 Gradle 程序。我全力以赴。但这真是让人头疼!啊!

4

1 回答 1

2

如果您正在处理多模块项目,则需要使用pitmp 插件(https://github.com/STAMP-project/pitmp-maven-plugin)。

这是因为 PIT 本身只会改变与测试在同一模块中定义的类。相反,pitmp 将为模块的所有类执行测试。上面的链接中提供了更多详细信息。

于 2020-04-23T10:13:36.313 回答