Oli*_*ver 7 java unit-testing mutation-testing maven pitest
我必须从 PIT 的执行中排除我的集成测试。excludedTestClasses从版本 1.3.0 开始有一个选项。我试图通过 PIT 的 Maven 插件的以下配置来传递这些测试。
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.3.1</version>
<configuration>
<verbose>true</verbose>
<mutationThreshold>80</mutationThreshold>
<targetClasses>
<param>de.comp.proj.*</param>
</targetClasses>
<excludedTestClasses>
<param>**/*IT.java</param>
</excludedTestClasses>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
然而,PIT 仍在执行所有带有后缀的测试IT。我看了一下来源,但在晚上迷路了;-)
那么,我怎样才能跳过我的集成测试呢?
PIT 过滤器与编译后的二进制文件中的类名匹配,而不是与源文件名匹配。
你的过滤器应该看起来像
<excludedTestClasses>
<param>de.comp.**.*IT</param>
</excludedTestClasses>
Run Code Online (Sandbox Code Playgroud)
de.comp.*IT排除包中的所有测试de.comp。de.comp.**.*IT在子包中使用所有测试也被忽略。
For those using the Gradle plugin :
pitest {
excludedTestClasses = ['de.comp.**.*IT']
}
Run Code Online (Sandbox Code Playgroud)
我使用pitest-maven版本1.4.2。
这个配置对我来说效果很好:
<excludedTestClasses>
<excludedTestClass>de.com.**.*IT</excludedTestClass>
</excludedTestClasses>
Run Code Online (Sandbox Code Playgroud)
也许以下语法适用于旧版本的pitest-maven:
<excludedTestClasses>
<param>de.comp.**.*IT</param>
</excludedTestClasses>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6792 次 |
| 最近记录: |