【问题标题】:Pitest: How to set paths correct in different modulesPitest:如何在不同的模块中设置正确的路径
【发布时间】:2020-08-06 14:21:00
【问题描述】:

我有一个庞大的项目,我正在使用 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 配置(取自 Pitest.org 官方网站)放入我的 1.myProgramm-parent 的 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。但是要缩小的普通 javaClasses 在这个包中:2.myProgramm.module1

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

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

你有什么想法吗?

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

【问题讨论】:

    标签: java maven mutation mutation-testing pitest


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢你的提示!!我现在有一个更深层次的问题。我把这个<plugin> <groupId>eu.stamp-project</groupId> <artifactId>pitmp-maven-plugin</artifactId> <version>1.3.7</version> </plugin> 放到了我的父母 pom 中。但它仍然无法正常工作。我如何通过 pom 发布我的整个插件参数来提出问题?因为这里的评论区太短了?我应该在 stackoverflow 上提出一个新问题吗?
    • pitmp 版本是否适合使用的 PIT 版本(参见“版本”部分)?你使用mvn eu.stamp-project:pitmp-maven-plugin:run 作为 Maven 命令吗?如果这不起作用,您应该提出一个新问题并提供更多详细信息。
    • 哦,天哪……太尴尬了。我没有阅读整个文档。我现在就去做。如果它仍然不起作用,您将看到一个新问题。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2014-07-26
    • 2019-11-25
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多