我有一个庞大的项目,我正在用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
... 等等。


现在,我从1.myProgramm-parent所需的所有Pitest配置(来自pitest.org的官方网站)中放入pom.xml。 targetClassestargetTests2.myProgramm.module1.Test的pom.xml中,我需要使用它。
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中设置targetClassestargetTests。但是要封装的普通javaClass位于此包中:2.myProgramm.module1
我怎么知道,离开您的测试文件夹并进入文件夹?
我还使用普通的javaClasses给出了该文件夹的纯路径,但是没有反应。 :(

你有想法吗?

附言这不是我的程序。我没写我只是在进行测试。我已经有了Maven和Gradle的其他11个程序。我全都给小黄人。但是,这真是太痛了!啊!

最佳答案

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

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

09-11 19:31