I have to exclude my integration tests from their execution by PIT. There is an option excludedTestClasses
since version 1.3.0. I tried to pass over these tests by the following configration of the Maven plugin of PIT.
<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>
However PIT is still executing all tests with the suffix IT
. I had a look the the source but got lost in the night ;-)
So, how can I skip my integration tests?
PIT filters are matched against the class names in the compiled binary, not against the source file name.
Your filter should look something like
<excludedTestClasses>
<param>de.comp.**.*IT</param>
</excludedTestClasses>
de.comp.*IT
excludes all tests in the package de.comp
. Using de.comp.**.*IT
all tests in subpackages are also ignored.
For those using the Gradle plugin :
pitest {
excludedTestClasses = ['de.comp.**.*IT']
}
I use pitest-maven version 1.4.2.
This config works fine for me:
<excludedTestClasses>
<excludedTestClass>de.com.**.*IT</excludedTestClass>
</excludedTestClasses>
Maybe following syntax was for older versions of pitest-maven:
<excludedTestClasses>
<param>de.comp.**.*IT</param>
</excludedTestClasses>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With