【问题标题】:When pitest cannot find the test classes当pitest找不到测试类时
【发布时间】:2018-08-16 20:03:03
【问题描述】:

这似乎是一个很常见的问题,我个人至少偶然发现了几次。

一些主要原因是:

但是,今天我偶然发现了一个新的 0 测试案例,我很难解决。让我们考虑这个项目:https://github.com/bonnyfone/vectalign.
这是一个小项目,只包含一个测试类:

src
 |
 +- main
 |   |
 |   ...
 |
 +- test
     |
     +- java
          |
          +- VectAlignTest.java

我在pom.xml 中添加了pitest:

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>1.3.2</version>
</plugin>

我运行命令mvn clean test org.pitest:pitest-maven:mutationCoverage。 虽然测试运行良好,但由于某种原因,pitest 无法找到它们:

12:23:16 PM PIT >> INFO : MINION : 12:23:16 PM PIT >> INFO : Found  0 tests
...
================================================================================
- Statistics
================================================================================
>> Generated 910 mutations Killed 0 (0%)
>> Ran 0 tests (0 tests per mutation)

您可以在此处找到完整的pom.xmlhttps://pastebin.com/F28ZpcMk
这是mvn clean test org.pitest:pitest-maven:mutationCoverage的完整输出:https://pastebin.com/tWHgq43a

现在我的问题是,在这种特殊情况下出了什么问题? Pitest如何确定哪些是测试类?

您的帮助将不胜感激:)

【问题讨论】:

    标签: java maven testing pitest


    【解决方案1】:

    我面临着完全相同的问题。对我来说,指定确切的测试包有帮助。在你的情况下,也许你可以添加:

    <configuration>
        <targetTests>
          <param>VectAlignTest*</param>
        </targetTests>
    </configuration>
    

    当然,这是一个相当肮脏的解决方法。也许有人知道问题的根本原因。

    【讨论】:

      【解决方案2】:

      PITest 没有找到我的类或测试类,因为我的包中没有它们。一旦我把它们放在一个包里,一切都很好。我怀疑你也可以手动指定类和测试类的位置。

      在(现已删除的)链接问题中引用该答案:

      我只是在同一条消息上花了很多时间

      未发现突变。这可能意味着提供的类路径或过滤器存在问题。

      我的问题很简单:我在 IntelliJ 使用 Maven。但是我没有包裹。我正在使用 默认包和 PITest 每次都失败。 PITest 有一个 如果您指定,可能仅适用于默认包的插件 类和测试类。但是所有的文件都说它 默认情况下应该工作。详细的输出甚至显示 PITest 是 找到正确的项目文件夹,但它仍然没有工作。亨利 Cole 甚至足够优秀(PITest 的开发者)来看看我的 POM.xml 文件并确认它看起来不错。

      总之,如果您将 Java 代码放在一个包中,PITest 会非常有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-30
        • 1970-01-01
        • 2019-03-30
        • 2020-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多