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.