问题描述
第一次尝试使用pitTest和maven,
使用IntelliJ Idea。
对于以下pom.xml代码段:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.4.9</version>
<configuration>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>0.12</version>
</dependency>
</dependencies>
</plugin>
</plugins>
我得到以下堆栈跟踪:
[INFO]
[INFO] --- pitest-maven:1.4.9:mutationCoverage (default-cli) @ Junit_Test ---
[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 5 test framework support
[INFO] Found shared classpath plugin : JUnit plugin
[INFO] Found shared classpath plugin : TestNG plugin
[INFO] Adding org.pitest:pitest-junit5-plugin to SUT classpath
[INFO] Adding org.pitest:pitest to SUT classpath
[INFO] Mutating from C:\Users\Lenovo\IdeaProjects\Junit_Test_2\target\classes
[INFO] Defaulting target classes to match packages in build directory
4:57:36 AM PIT >> INFO : ---------------------------------------------------------------------------
4:57:36 AM PIT >> INFO : Enabled (+) and disabled (-) features.
4:57:36 AM PIT >> INFO : -----------------------------------------
4:57:36 AM PIT >> INFO : +FFBLOCK Filters mutations in code duplicated by finally block inlining
4:57:36 AM PIT >> INFO : +FSTATI Filters mutations in static initializers and code called only from them
4:57:36 AM PIT >> INFO : +FSEQUIVEQUALS Filters equivalent mutations that affect only performance in short cutting equals methods
4:57:36 AM PIT >> INFO : +FFEACH Filters mutations in compiler generated code that implements for each loops
4:57:36 AM PIT >> INFO : +FINFINC Filters mutations to increments that may cause infinite loops
4:57:36 AM PIT >> INFO : +FFLOOP Filters any mutations to increments in for loops as they may cause timeouts
4:57:36 AM PIT >> INFO : +FRETEQUIV Filters return vals mutants with bytecode equivalent to the unmutated class
4:57:36 AM PIT >> INFO : +FINULL Filters mutations in compiler generated code that checks for null by calling getClass
4:57:36 AM PIT >> INFO : +FTRYWR Filters mutations in code generated for try with resources statements
4:57:36 AM PIT >> INFO : +FKOTLIN Filters out junk mutations in bytecode created by compiler for kotlin language features
4:57:36 AM PIT >> INFO : +FSTAtiniT Filters mutations in static initializers and code called only from them
4:57:36 AM PIT >> INFO : +FLOGCALL Filters mutations in code that makes calls to logging frameworks
4:57:36 AM PIT >> INFO : +FINFIT Filters mutations that may cause infinite loops by removing calls to iterator.next
4:57:36 AM PIT >> INFO : +FANN Filters mutations in classes and methods with matching annotations of class or runtime retention
4:57:36 AM PIT >> INFO : [annotation] Annotation to avoid (full package name not required)
4:57:36 AM PIT >> INFO : -CLASSLIMIT Limits the maximum number of mutations per class
4:57:36 AM PIT >> INFO : [limit] Integer value for maximum mutations to create per class
4:57:36 AM PIT >> INFO : -EXPORT Exports mutants bytecode and other details to disk
4:57:36 AM PIT >> INFO : ---------------------------------------------------------------------------
4:57:36 AM PIT >> FINE : Running report with ReportOptions [targetClasses=[.*],excludedMethods=[],excludedClasses=[],excludedTestClasses=[],codePaths=[C:\Users\Lenovo\IdeaProjects\Junit_Test_2\target\classes],reportDir=C:\Users\Lenovo\IdeaProjects\Junit_Test_2\target\pit-reports,historyInputLocation=null,historyOutputLocation=null,sourceDirs=[C:\Users\Lenovo\IdeaProjects\Junit_Test_2\src\main\java,C:\Users\Lenovo\IdeaProjects\Junit_Test_2\src\test\java],classpathelements=[C:\Users\Lenovo\IdeaProjects\Junit_Test_2\target\test-classes,C:\Users\Lenovo\IdeaProjects\Junit_Test_2\target\classes,C:\Users\Lenovo\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.4.2\junit-jupiter-api-5.4.2.jar,C:\Users\Lenovo\.m2\repository\org\apiguardian\apiguardian-api\1.0.0\apiguardian-api-1.0.0.jar,C:\Users\Lenovo\.m2\repository\org\opentest4j\opentest4j\1.1.1\opentest4j-1.1.1.jar,C:\Users\Lenovo\.m2\repository\org\junit\platform\junit-platform-commons\1.4.2\junit-platform-commons-1.4.2.jar,C:\Users\Lenovo\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.4.2\junit-jupiter-engine-5.4.2.jar,C:\Users\Lenovo\.m2\repository\org\junit\platform\junit-platform-engine\1.4.2\junit-platform-engine-1.4.2.jar,C:\Users\Lenovo\.m2\repository\org\pitest\pitest-junit5-plugin\0.12\pitest-junit5-plugin-0.12.jar,C:\Users\Lenovo\.m2\repository\org\pitest\pitest\1.4.9\pitest-1.4.9.jar],mutators=[],features=[],dependencyAnalysisMaxdistance=-1,jvmArgs=[-Djava.awt.headless=true],numberOfThreads=1,timeoutFactor=1.25,timeoutConstant=3000,targetTests=[],loggingClasses=[],maxMutationsPerClass=0,verbose=true,failWhenNoMutations=true,outputs=[HTML],groupConfig=TestGroupConfig [excludedGroups=[],includedGroups=[]],fullMutationMatrix=false,mutationUnitSize=0,shouldCreateTimestampedReports=true,detectInlinedCode=true,exportLineCoverage=false,mutationThreshold=0,coverageThreshold=0,mutationEngine=gregor,javaExecutable=null,includeLaunchClasspath=true,properties={},maxSurvivors=0,excludedRunners=[],includedTestMethods=[],testPlugin=junit5,useClasspathJar=false,skipFailingTests=false]
4:57:36 AM PIT >> FINE : System class path is C:\Program Files\JetBrains\IntelliJ IDEA Educational Edition 2020.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA Educational Edition 2020.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds.license;C:\Program Files\JetBrains\IntelliJ IDEA Educational Edition 2020.2.1\lib\idea_rt.jar
4:57:36 AM PIT >> FINE : Maximum available memory is 1776 mb
4:57:36 AM PIT >> FINE : MINION : Installing PIT agent
4:57:36 AM PIT >> INFO : Sending 0 test classes to minion
4:57:36 AM PIT >> INFO : Sent tests to minion
4:57:36 AM PIT >> FINE : Coverage generator Minion exited ok
4:57:36 AM PIT >> INFO : Calculated coverage in 0 seconds.
4:57:36 AM PIT >> FINE : Used memory after coverage calculation 42 mb
4:57:36 AM PIT >> FINE : Free Memory after coverage calculation 110 mb
4:57:36 AM PIT >> INFO : Created 0 mutation test units
Failed to execute goal org.pitest:pitest-maven:1.4.9:mutationCoverage (default-cli) on project Junit_Test: Execution default-cli of goal org.pitest:pitest-maven:1.4.9:mutationCoverage Failed: No mutations found. This probably means there is an issue with either the supplied classpath or filters.
我尝试过:
->将。*添加为targetClasses和targetTests
两者都给出相同的错误。
类的.java文件位于project_dir / src / main / java中 测试类的.java文件位于project_dir / src / test / java
中解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)