当pitest找不到测试类时

ttk*_*203 6 java testing maven pitest

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

一些主要原因是:

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

src
 |
 +- main
 |   |
 |   ...
 |
 +- test
     |
     +- java
          |
          +- VectAlignTest.java
Run Code Online (Sandbox Code Playgroud)

我添加了 pitest 到pom.xml

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>1.3.2</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我运行命令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)
Run Code Online (Sandbox Code Playgroud)

你可以在pom.xml这里找到完整的:https : //pastebin.com/F28ZpcMk
这里是完整的输出mvn clean test org.pitest:pitest-maven:mutationCoveragehttps : //pastebin.com/tWHgq43a

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

您的帮助将不胜感激:)

Kla*_*ulz 0

我面临着同样的问题。对我来说,指定确切的测试包很有帮助。根据您的情况,也许您可​​以添加:

<configuration>
    <targetTests>
      <param>VectAlignTest*</param>
    </targetTests>
</configuration>
Run Code Online (Sandbox Code Playgroud)

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