Greetings. I am new to Maven, but have been able to create a Maven test project with JaCoCo report coverage. Now I want to add Pitest to my project. Here is my POM.xml:
<?xml version="1.0" encoding="UTF-8"?>
<modelVersion>4.0.0</modelVersion>
<groupId>systems.undercontrol</groupId>
<artifactId>phidlin3</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.phidgets</groupId>
<artifactId>phidget</artifactId>
<version>2.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>PhTest1</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.1</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<!-- implementation is needed only for Maven 2 -->
<rule implementation="org.jacoco.maven.RuleConfiguration">
<element>BUNDLE</element>
<limits>
<!-- implementation is needed only for Maven 2 -->
<limit implementation="org.jacoco.report.check.Limit">
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<minimum>0.20</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
</project>
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building phidlin3 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- pitest-maven:1.3.2:mutationCoverage (default-cli) @ phidlin3 ---
[INFO] Found plugin : Default csv report plugin
[INFO] Found plugin : Default xml report plugin
[INFO] Found plugin : Default html report plugin
[INFO] Found plugin : Static initializer code detector plugin
[INFO] Found plugin : Static initializer filter plugin
[INFO] Found plugin : Excluded annotations plugin
[INFO] Found plugin : Inlined finally block filter plugin
[INFO] Found plugin : Try with resources filter
[INFO] Found plugin : Implicit null check filter
[INFO] Found plugin : For each loop filter
[INFO] Found plugin : Logging calls filter
[INFO] Found plugin : Infinite for loop filter
[INFO] Found plugin : Long running iterator loop filter
[INFO] Found plugin : For loop counter filter
[INFO] Found plugin : Kotlin junk mutations filter
[INFO] Found plugin : Max mutations per class limit
[INFO] Found plugin : Equals shortcut equivalent mutant filter
[INFO] Found plugin : Trivial return vals equivalence filter
[INFO] Found plugin : Mutant export plugin
[INFO] Found shared classpath plugin : Default mutation engine
[INFO] Found shared classpath plugin : JUnit plugin
[INFO] Found shared classpath plugin : TestNG plugin
[INFO] Adding org.pitest:pitest to SUT classpath
[INFO] Mutating from /Users/terry/Dropbox/IdeaProjects/phidlin3/target/classes
[INFO] Defaulting target classes to match packages in build directory
6:50:03 AM PIT >> INFO : ---------------------------------------------------------------------------
6:50:03 AM PIT >> INFO : Enabled (+) and disabled (-) features.
6:50:03 AM PIT >> INFO : -----------------------------------------
6:50:03 AM PIT >> INFO : +FFBLOCK Filters mutations in code duplicated by finally block inlining
6:50:03 AM PIT >> INFO : +FSTATI Filters mutations in static initializers and code called only from them
6:50:03 AM PIT >> INFO : +FSEQUIVEQUALS Filters equivalent mutations that affect only performance in short cutting equals methods
6:50:03 AM PIT >> INFO : +FFEACH Filters mutations in compiler generated code that implements for each loops
6:50:03 AM PIT >> INFO : +FINFINC Filters mutations to increments that may cause infinite loops
6:50:03 AM PIT >> INFO : +FFLOOP Filters any mutations to increments in for loops as they may cause timeouts
6:50:03 AM PIT >> INFO : +FRETEQUIV Filters return vals mutants with bytecode equivalent to the unmutated class
6:50:03 AM PIT >> INFO : +FINULL Filters mutations in compiler generated code that checks for null by calling getClass
6:50:03 AM PIT >> INFO : +FTRYWR Filters mutations in code generated for try with resources statements
6:50:03 AM PIT >> INFO : +FKOTLIN Filters out junk mutations in bytecode created by compiler for kotlin language features
6:50:03 AM PIT >> INFO : +FSTATINIT Filters mutations in static initializers and code called only from them
6:50:03 AM PIT >> INFO : +FLOGCALL Filters mutations in code that makes calls to logging frameworks
6:50:03 AM PIT >> INFO : +FINFIT Filters mutations that may cause infinite loops by removing calls to iterator.next
6:50:03 AM PIT >> INFO : +FANN Filters mutations in classes and methods with matching annotations of class or runtime retention
6:50:03 AM PIT >> INFO : [annotation] Annotation to avoid (full package name not required)
6:50:03 AM PIT >> INFO : -CLASSLIMIT Limits the maximum number of mutations per class
6:50:03 AM PIT >> INFO : [limit] Integer value for maximum mutations to create per class
6:50:03 AM PIT >> INFO : -EXPORT Exports mutants bytecode and other details to disk
6:50:03 AM PIT >> INFO : ---------------------------------------------------------------------------
6:50:03 AM PIT >> FINE : Running report with ReportOptions [targetClasses=[.*], excludedMethods=[], excludedClasses=[], excludedTestClasses=[], codePaths=[/Users/terry/Dropbox/IdeaProjects/phidlin3/target/classes], reportDir=/Users/terry/Dropbox/IdeaProjects/phidlin3/target/pit-reports, historyInputLocation=null, historyOutputLocation=null, sourceDirs=[/Users/terry/Dropbox/IdeaProjects/phidlin3/src/main/java, /Users/terry/Dropbox/IdeaProjects/phidlin3/src/test/java], classPathElements=[/Users/terry/Dropbox/IdeaProjects/phidlin3/target/test-classes, /Users/terry/Dropbox/IdeaProjects/phidlin3/target/classes, /Users/terry/.m2/repository/junit/junit/4.12/junit-4.12.jar, /Users/terry/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar, /Users/terry/.m2/repository/com/phidgets/phidget/2.2/phidget-2.2.jar, /Users/terry/.m2/repository/org/pitest/pitest/1.3.2/pitest-1.3.2.jar], mutators=[], features=[], dependencyAnalysisMaxDistance=-1, jvmArgs=[], numberOfThreads=1, timeoutFactor=1.25, timeoutConstant=3000, targetTests=[], loggingClasses=[], maxMutationsPerClass=0, verbose=true, failWhenNoMutations=true, outputs=[HTML], groupConfig=TestGroupConfig [excludedGroups=[], includedGroups=[]], mutationUnitSize=0, shouldCreateTimestampedReports=true, detectInlinedCode=true, exportLineCoverage=false, mutationThreshold=0, coverageThreshold=0, mutationEngine=gregor, javaExecutable=null, includeLaunchClasspath=true, properties={}, maxSurvivors=0, excludedRunners=[], testPlugin=junit, includedTestMethods=[]]
6:50:03 AM PIT >> FINE : System class path is /Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds-2.5.2.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar
6:50:03 AM PIT >> FINE : Maximum available memory is 3641 mb
6:50:03 AM PIT >> FINE : MINION : Installing PIT agent
6:50:03 AM PIT >> INFO : MINION : objc[45733]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/bin/java (0x10eb464c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10ebd
6:50:03 AM PIT >> INFO : MINION : 24e0). One of the two will be used. Which one is undefined.
6:50:03 AM PIT >> INFO : Sending 0 test classes to minion
6:50:03 AM PIT >> INFO : Sent tests to minion
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> FINE : Expecting 0 tests classes from parent
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> FINE : Tests classes received
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> INFO : Checking environment
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> INFO : Found 0 tests
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> INFO : Dependency analysis reduced number of potential tests by 0
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> INFO : 0 tests received
6:50:03 AM PIT >> INFO : MINION : 6:50:03 AM PIT >> FINE : Running 0 units
6:50:03 AM PIT >> FINE : Coverage generator Minion exited ok
6:50:03 AM PIT >> INFO : Calculated coverage in 0 seconds.
6:50:03 AM PIT >> FINE : Used memory after coverage calculation 86 mb
6:50:03 AM PIT >> FINE : Free Memory after coverage calculation 223 mb
6:50:03 AM PIT >> INFO : Created 0 mutation test units
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.080 s
[INFO] Finished at: 2018-03-25T06:50:03-06:00
[INFO] Final Memory: 14M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.pitest:pitest-maven:1.3.2:mutationCoverage (default-cli) on project phidlin3: Execution default-cli of goal org.pitest:pitest-maven:1.3.2:mutationCoverage failed: No mutations found. This probably means there is an issue with either the supplied classpath or filters.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
Process finished with exit code 1
Thanks in advance for any help.