IntelliJ IDEA plugin for PIT mutation testing (http://pitest.org).
mjedynak / pit-idea-plugin Goto Github PK
View Code? Open in Web Editor NEWIntelliJ Idea plugin for PIT mutation testing
License: MIT License
IntelliJ Idea plugin for PIT mutation testing
License: MIT License
IntelliJ IDEA plugin for PIT mutation testing (http://pitest.org).
Hi,
are there any plans to create a NetBeans plugin as well?
Cheers
Chris
Hello,
I installed the IntelliJ plugin (https://plugins.jetbrains.com/plugin/7119-pit-mutation-testing) directly from the plugin marketplace of IntelliJ and then I ran it on a class like in the fig.:
Then I right-click on the "Open report in browser", copy the link, and paste it into my chrome browser.
I get a report like this:
while I would like to visualize a report like this:
Please, could you help me?
Thanks,
Since last update, i always have problems running pitest plugin, seems to be an asm library incompatibility.
14:58:10 PIT >> INFO : Calculated coverage in 2 seconds.
Exception in thread "main" java.lang.IncompatibleClassChangeError: class org.objectweb.asm.tree.ClassNode has interface org.objectweb.asm.ClassVisitor as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.pitest.bytecode.analysis.ClassTree.fromBytes(ClassTree.java:29)
at org.pitest.mutationtest.build.MutationSource.createMutations(MutationSource.java:61)
at org.pitest.mutationtest.build.MutationTestBuilder$2.apply(MutationTestBuilder.java:100)
at org.pitest.mutationtest.build.MutationTestBuilder$2.apply(MutationTestBuilder.java:97)
at org.pitest.functional.FCollection.flatMapTo(FCollection.java:55)
at org.pitest.functional.FCollection.flatMap(FCollection.java:65)
at org.pitest.mutationtest.build.MutationTestBuilder.createMutationTestUnits(MutationTestBuilder.java:56)
at org.pitest.mutationtest.tooling.MutationCoverage.buildMutationTests(MutationCoverage.java:279)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:134)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:115)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:49)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)
could you please update it to PIT 1.4.3? it's java 11 support. thank you.
I am still trying to understand what is the expected behavior of the PIT and how all of the pieces are connected.
In my kotlin-mutation-testing project I am experiencing strange behaviour:
When I run tests using the cmd ./gradlew pitest
then Pit Test Coverage Report shows a single class being found (ApplicationService.kt
)(ok)
However, when I run pitest using gradle-pitest-plugin (Pit Runner) the Pit Test Coverage Report contains two classes (ApplicationService.kt
- ok and ApplicationServiceTest.kt
- not ok)
Hi!
I'd like to kindly ask you to release new version of plugin (with pitest 1.4.2 support) to JetBrains repositories. Current available version v1.3.8 (17.11.2017) is outdated.
I installed the PIT mutation testing IDEA plugin v1.3.7 in IntelliJ IDEA 2017.2 on Windows 10. I created a run configuration for my project which uses Java 1.8.0_131_b11 and started it. After a few seconds I get the following Exception:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:65)
Caused by: java.lang.ExceptionInInitializerError
at org.pitest.mutationtest.config.PluginServices.makeForContextLoader(PluginServices.java:27)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:35)
... 5 more
Caused by: java.lang.SecurityException: Prohibited package name: java.lang.invoke
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:479)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.pitest.reloc.xstream.core.JVM.loadClassForName(JVM.java:279)
at org.pitest.reloc.xstream.core.JVM.loadClassForName(JVM.java:259)
at org.pitest.reloc.xstream.XStream.setupAliases(XStream.java:766)
at org.pitest.reloc.xstream.XStream.<init>(XStream.java:572)
at org.pitest.reloc.xstream.XStream.<init>(XStream.java:496)
at org.pitest.reloc.xstream.XStream.<init>(XStream.java:465)
at org.pitest.reloc.xstream.XStream.<init>(XStream.java:411)
at org.pitest.reloc.xstream.XStream.<init>(XStream.java:378)
at org.pitest.util.IsolationUtils.<clinit>(IsolationUtils.java:29)
... 7 more
Process finished with exit code 1
This is reproducable. If you need more information, I will be glad to provide it to you.
Thank you vermuch for your help.
Version 1.2.4 of PITEST (https://github.com/hcoles/pitest) has been released in October (2017), and there are some fixes that would realy come handy to some of us, so is there any chance that an upgrade will be happening? :)
I'm trying out PIT for the first time, using a toy project. The implementation uses random numbers, but a feature flag -- stored in the environment, allows me to substitute a deterministic generator for the random generator. To ensure that the variable is correctly set, my Junit4 tests use Assume.assumeTrue() to check that this precondition is satisfied.
If I run the pitest-maven plugin, with an environment variable set in the configuration, then everything is fine.
If I run the junit tests in Intellij, then I can add the environment variable to the configuration and all of the tests behave as expected.
But I can't seem to discover a way to configure an instance of the PIT Runner with the necessary setting to get the tests to behave as expected.
It would be nice to be able to use variables like $MODULE_DIR$
when configuring the source and output locations, similar to how one would set the Working Directory for an Application or JUnit entry point.
The 1.3.9 version is released, but there is no corresponding release tag in GitHub repository. Without that users are not sure which codebase is used in that version and (what's probably more important) people subscribed to that repository won't get any notification about a new version.
Version: 1.4.4
OS:: Ubuntu 20.04 LTS
When running "Pitests using tests in ..." from the projects tab I am getting following error:
(Don't know how to enable verbose logging for PIT plugin, so here's the logging I do have)
10:06:49 AM PIT >> INFO : Verbose logging is disabled. If you encounter a problem, please enable it before reporting an issue.
Exception in thread "main" org.pitest.util.PitError: zip END header not found (/home/ydbondt/.gradle/caches/modules-2/files-2.1/javax.media/jai/1.1.4+7-lcd/dd65d8d684b320ac41aeb58fa6058449cd8e073d/jai-1.1.4+7-lcd.pom)
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : OpenJDK 64-Bit Server VM
Vendor : Ubuntu
Version : 11.0.8+10-post-Ubuntu-0ubuntu120.04
Uptime : 391
Input ->
1 : -javaagent:/snap/intellij-idea-ultimate/245/lib/idea_rt.jar=40377:/snap/intellij-idea-ultimate/245/bin
2 : -Dfile.encoding=UTF-8
BootClassPathSupported : false
at org.pitest.util.Unchecked.translateCheckedException(Unchecked.java:25)
at org.pitest.classpath.ArchiveClassPathRoot.getRoot(ArchiveClassPathRoot.java:117)
at org.pitest.classpath.ArchiveClassPathRoot.classNames(ArchiveClassPathRoot.java:87)
at org.pitest.classpath.NameCachingRoot.classNames(NameCachingRoot.java:51)
at org.pitest.classpath.CompoundClassPathRoot.classNames(CompoundClassPathRoot.java:40)
at org.pitest.classpath.ClassPath.classNames(ClassPath.java:63)
at org.pitest.classpath.ClassPath.findClasses(ClassPath.java:147)
at org.pitest.classpath.ProjectClassPaths.code(ProjectClassPaths.java:39)
at org.pitest.classpath.CodeSource.getCode(CodeSource.java:41)
at org.pitest.mutationtest.verify.DefaultBuildVerifier.verify(DefaultBuildVerifier.java:32)
at org.pitest.mutationtest.tooling.MutationCoverage.verifyBuildSuitableForMutationTesting(MutationCoverage.java:223)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:111)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:121)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:51)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)
Caused by: java.util.zip.ZipException: zip END header not found
at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1567)
at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1462)
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1469)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1274)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191)
at org.pitest.classpath.ArchiveClassPathRoot.getRoot(ArchiveClassPathRoot.java:115)
... 14 more
Thanks for the plugin for idea.
As of now for junit5 as per the official document ,we need to add the plugin dependency in pom
Junit5
which works fine
But i dint want as part of pom ,rather use personally from the idea. plugin ,so when i tried to run it ,i got the same error as stated in the below ticket.
PIT >> SEVERE : Error generating coverage. Please check that your classpath contains JUnit
4.6 or above.
As i cannot reopen the below issue, so not a duplicate
#21
Regards,
Faizal
Hello, I love your new "context menu action" feature and want to use it every day.
However I cannot figure out how to change default configuration of these actions.
In my use-case scenario when I run Pitest for a single test (or package) file the plugin uses incorrect --targetClasses param (instead of com.company.rootpackage.* I see com.company.anotherpackage.*)
Please help me to figure out how to update default configuration for context menu actions
Thank you
In the current version of the plugin, I have the problem that it reports
JUnit 5 is on the classpath but the pitest junit 5 plugin is not installed
It turns out that the system class path contains pitest-junit5-plugin-1.2.0.jar
, not pitest-junit5-plugin-1.2.1.jar
. I have already uninstalled and reinstalled the plugin, but the problem remains.
I believe my issue may be closely related to #2.
I work with a fairly complex Gradle project layout with hundreds of Gradle projects in various hierarchies. It looks something like this:
Root Project (contains no code)
├── ProjectA
├── ProjectB
├── SuperProjectA (contains no code)
│ └── ChildProjectA
│ └── ChildProjectB
├── ProjectC
└── …
So there are several stand-alone projects, several "projects" that are groupings of other projects, etc. Additionally, projects frequently depend on each other from source rather than from .jar. In IntelliJ parlance, they are Module dependencies rather than Library dependencies.
When I try to run a PIT test, I get the following output:
7:34:35 PM PIT >> INFO : Created 0 mutation test units
Exception in thread "main" org.pitest.help.PitHelpError: No mutations found. This probably means there is an issue with either the supplied classpath or filters.
See http://pitest.org for more details.
at org.pitest.mutationtest.tooling.MutationCoverage.checkMutationsFound(MutationCoverage.java:267)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:138)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:101)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:43)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:72)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
I'm guessing that it's a classpath issue. I'm also wondering if there's possibly a problem with the concept of the "Source dir" entry in the form. I'm assuming that "source dir" assumes a Maven-style project layout, that is, that both Test and Source classes live inside of the same parent directory. Many of our projects predate the popularity of Maven (it's an old code base) and have a "test" directory for test classes and a "src" directory for sources at the top level of the Module, so if the tool is expecting the regular Java files and JUnit Java files to live under the same directory then that could contribute to the problem.
I often write tests that load reference data from some sub-directory of the project, eg:
public class TestLoadingFile {
@Test
public void testFileLoad() {
final File jsonFile = new File("test/resources/reference_data.json");
Assert.assertTrue(jsonFile.exists());
}
}
If the file is there, this test will succeed from the commandline, from IntelliJ, and will work with pitest from the commandline, but when run from the pit IDEA plugin, it fails and says "Mutation testing requires a green suite".
The reason for this is that the working directory of the JVM is not configured, so it defaults to the IntelliJ directory. The simple fix is to set the working directory first.
Please release a version with support for PIT v1.5.2.
Hi,
When using the plugin with a more recent IntelliJ (mine is 2020.1) and Java >= 9, I get the following error:
`CommandLineWrapper` is ill-suited for launching apps on Java 9+.
If the run configuration uses "classpath file", please change it to "@argfile".
Otherwise, please contact support.
This is due to a change done in IntelliJ - JetBrains/intellij-community@3de0403
Hi, since 1.1.9 includes many fixes, it makes sense to upgrade the intellij plugin to include the new version.
We use Junit 5 and when running the plugin I get this error:
9:25:22 AM PIT >> INFO : MINION : 9:25:22 AM PIT >> SEVERE : JUnit was not found on the classpath. PIT requires JUnit 4.6 or above.
I know that to be able to use JUnit 5 I have to apply an additional plugin to pitest 1.4.2 so everything works fine commandline.
I can make a PR to refine the above error message?
I installed version 1.2.0 of the plugin on Intellij 11.1.5. I did configure the PIT Test Runner with target classes, source directory, report directory, target tests and other params specifying the outputformat but I still get a "No module defined" error.
What could be missing?
10:17:16 AM PIT >> INFO : Sending 237 test classes to slave
10:17:16 AM PIT >> INFO : Sent tests to slave
10:17:16 AM PIT >> INFO : SLAVE : 10:17:16 AM PIT >> SEVERE : Error calculating coverage. Process will exit.
java.lang.RuntimeException: Stub!
at junit.runner.Version.id(Version.java:5)
at org.pitest.junit.JUnitCompatibleConfiguration.verifyEnvironment(JUnitCompatibleConfiguration.java:5
10:17:16 AM PIT >> INFO : SLAVE : 9)
at org.pitest.mutationtest.config.CompoundConfiguration$4.apply(CompoundConfiguration.java:101)
at org.pitest.mutationtest.config.CompoundConfiguration$4.apply(CompoundConfiguration.java:99)
at org.pitest.functional.FCollection.flatMapTo(FCollection.
10:17:16 AM PIT >> INFO : SLAVE : java:56)
at org.pitest.functional.FCollection.flatMap(FCollection.java:66)
at org.pitest.mutationtest.config.CompoundConfiguration.verifyEnvironment(CompoundConfiguration.java:89)
at org.pitest.coverage.execute.CoverageSlave.main(CoverageSlave.java:64)
10:17:16 AM PIT >> WARNING : Error while watching child process
java.util.concurrent.ExecutionException: org.pitest.util.PitError: null
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.20-b23
Uptime : 3147
Input ->
1 : -Dvisualvm.id=4366397987742
2 : -Didea.launcher.port=7533
3 : -Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14.app/Contents/bin
4 : -Dfile.encoding=UTF-8
BootClassPathSupported : true
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.pitest.util.CommunicationThread.waitToFinish(CommunicationThread.java:60)
at org.pitest.coverage.execute.CoverageProcess.waitToDie(CoverageProcess.java:35)
at org.pitest.coverage.execute.DefaultCoverageGenerator.gatherCoverageData(DefaultCoverageGenerator.java:131)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:85)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:49)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:112)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:101)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:43)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:72)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: org.pitest.util.PitError: null
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.20-b23
Uptime : 3147
Input ->
1 : -Dvisualvm.id=4366397987742
2 : -Didea.launcher.port=7533
3 : -Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14.app/Contents/bin
4 : -Dfile.encoding=UTF-8
BootClassPathSupported : true
at org.pitest.util.Unchecked.translateCheckedException(Unchecked.java:20)
at org.pitest.util.SafeDataInputStream.readByte(SafeDataInputStream.java:65)
at org.pitest.util.SocketReadingCallable.receiveResults(SocketReadingCallable.java:63)
at org.pitest.util.SocketReadingCallable.call(SocketReadingCallable.java:36)
at org.pitest.util.SocketReadingCallable.call(SocketReadingCallable.java:12)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:267)
at org.pitest.util.SafeDataInputStream.readByte(SafeDataInputStream.java:63)
... 5 more
10:17:16 AM PIT >> SEVERE : Coverage generator Slave exited abnormally due to UNKNOWN_ERROR
Exception in thread "main" org.pitest.util.PitError: Coverage generation slave exited abnormally!
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.20-b23
Uptime : 3151
Input ->
1 : -Dvisualvm.id=4366397987742
2 : -Didea.launcher.port=7533
3 : -Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14.app/Contents/bin
4 : -Dfile.encoding=UTF-8
BootClassPathSupported : true
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.20-b23
Uptime : 3151
Input ->
1 : -Dvisualvm.id=4366397987742
2 : -Didea.launcher.port=7533
3 : -Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14.app/Contents/bin
4 : -Dfile.encoding=UTF-8
BootClassPathSupported : true
at org.pitest.util.Unchecked.translateCheckedException(Unchecked.java:20)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:101)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:49)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:112)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:101)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:43)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:72)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: org.pitest.util.PitError: Coverage generation slave exited abnormally!
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.20-b23
Uptime : 3151
Input ->
1 : -Dvisualvm.id=4366397987742
2 : -Didea.launcher.port=7533
3 : -Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14.app/Contents/bin
4 : -Dfile.encoding=UTF-8
BootClassPathSupported : true
at org.pitest.coverage.execute.DefaultCoverageGenerator.gatherCoverageData(DefaultCoverageGenerator.java:135)
at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:85)
... 11 more
I'm using maven with using org.junit:junit-bom:5.6.2
Not sure if this is the issue but the testPlugin is set to junit. Not sure what it should be.
My PIT Runner configuration settings:
Target classes: com.company.project.packageToTest
Target tests: com.company.project.packageToTest
Source dir: C:/folder/project/src/main/java
Report dir: C:/folder/project/target/report
Other params: --outputFormats XML,HTML --verbose=true
3:19:04 PM PIT >> INFO : Sending 198 test classes to minion
3:19:04 PM PIT >> INFO : Sent tests to minion
3:19:04 PM PIT >> INFO : MINION : 3:19:04 PM PIT >> FINE : Expecting 198 tests classes from parent
3:19:04 PM PIT >> FINE : Tests classes received
3:19:04 PM PIT >> INFO : MINION : 3:19:04 PM PIT >> INFO : Checking environment
3:19:05 PM PIT >> INFO : MINION : 3:19:05 PM PIT >> INFO : Found 0 tests
3:19:07 PM PIT >> INFO : MINION : 3:19:07 PM PIT >> INFO : Dependency analysis reduced number of potential tests by 0
3:19:07 PM PIT >> INFO : MINION : 3:19:07 PM PIT >> INFO : 0 tests received
3:19:07 PM PIT >> INFO : MINION : 3:19:07 PM PIT >> FINE : Running 0 units
Line 32 in 11c8517
How to solve:
Exception in thread "main" org.pitest.util.PitError: Multiple implementations of plugin detected on classpath
Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : Java HotSpot(TM) 64-Bit Server VM
Vendor : Oracle Corporation
Version : 25.121-b13
Uptime : 1032
Input ->
1 : -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=65061:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin
2 : -Dfile.encoding=UTF-8
BootClassPathSupported : true
at org.pitest.mutationtest.config.SettingsFactory.firstOrDefault(SettingsFactory.java:197)
at org.pitest.mutationtest.config.SettingsFactory.getTestFrameworkPlugin(SettingsFactory.java:123)
at org.pitest.mutationtest.config.SettingsFactory.createCoverageOptions(SettingsFactory.java:133)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:92)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:49)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)
Trying to get this set up for the first time and I'm getting a Error: java: directory not found: /target/generated-sources/annotations
error. I don't see where to specify this in the configuration.
I read that the plugin bundles pitest 1.5.1. The latest pitest is 1.5.2.
Are there plans to update?
Hi, I get this error when I try and run my pi tests:
Exception in thread "main" java.lang.NoSuchMethodError: joptsimple.OptionParser.acceptsAll(Ljava/util/List;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder; at org.pitest.mutationtest.commandline.OptionsParser.<init>(OptionsParser.java:122) at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
My configuration looks as follows:
Any idea what's causing this?
My result command is about 40KB. So it cannot be run on windows. Probably need to support --classPathFile argument to fix such issues
Following exceptions happened soon after this one, most probably they are induced.
2022-01-30T06:17:40.488
com.intellij.diagnostic.PluginException: The default implementation of method 'getId' is deprecated, you need to override it in 'class pl.mjedynak.idea.plugins.pit.configuration.PitConfigurationType$1'. The default implementation delegates to 'getName' which may be localized, but return value of this method must not depend on current localization. [Plugin: PIT mutation testing Idea plugin]
at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:270)
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:83)
at com.intellij.diagnostic.PluginException.reportDeprecatedDefault(PluginException.java:110)
at com.intellij.execution.configurations.ConfigurationFactory.getId(ConfigurationFactory.java:75)
at com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl.getName(RunnerAndConfigurationSettingsImpl.kt:154)
at com.intellij.execution.impl.RunConfigurationSchemeManager.getSchemeKey(RunConfigurationSchemeManager.kt:37)
at com.intellij.execution.impl.RunConfigurationSchemeManager.getSchemeKey(RunConfigurationSchemeManager.kt:21)
at com.intellij.configurationStore.schemeManager.SchemeManagerBase.processPendingCurrentSchemeName$intellij_platform_configurationStore_impl(SchemeManagerBase.kt:23)
at com.intellij.configurationStore.schemeManager.SchemeListManager.addScheme(SchemeListManager.kt:78)
at com.intellij.configurationStore.schemeManager.SchemeManagerImpl.addScheme(SchemeManagerImpl.kt:615)
at com.intellij.configurationStore.schemeManager.SchemeManagerImpl.addScheme(SchemeManagerImpl.kt:42)
at com.intellij.openapi.options.SchemeManager.addScheme(SchemeManager.kt:38)
at com.intellij.execution.impl.RunManagerImpl.getConfigurationTemplate(RunManagerImpl.kt:337)
at com.intellij.execution.impl.RunManagerImpl.createConfiguration(RunManagerImpl.kt:261)
at com.intellij.execution.impl.RunConfigurable.createNewConfiguration(RunConfigurable.kt:895)
at com.intellij.execution.impl.RunConfigurable$MyToolbarAddAction$showAddPopup$popup$1.consume(RunConfigurable.kt:943)
at com.intellij.execution.impl.RunConfigurable$MyToolbarAddAction$showAddPopup$popup$1.consume(RunConfigurable.kt:914)
at com.intellij.execution.impl.NewRunConfigurationPopup$5.onChosen(NewRunConfigurationPopup.java:249)
at com.intellij.ui.popup.tree.TreePopupImpl.handleSelect(TreePopupImpl.java:357)
at com.intellij.ui.popup.tree.TreePopupImpl$MyMouseListener.mousePressed(TreePopupImpl.java:307)
at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:288)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6651)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
at com.intellij.ui.treeStructure.Tree.processMouseEvent(Tree.java:394)
at java.desktop/java.awt.Component.processEvent(Component.java:6419)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2790)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:757)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:498)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:701)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437)
at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1671)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1629)
at com.intellij.execution.actions.EditRunConfigurationsAction.actionPerformed(EditRunConfigurationsAction.java:30)
at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:244)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:265)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:244)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.lambda$tryToExecuteNow$18(ActionManagerImpl.java:1671)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.lambda$tryToExecuteNow$19(ActionManagerImpl.java:1640)
at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:184)
at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:186)
at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:140)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:175)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:181)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:41)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.tryToExecuteNow(ActionManagerImpl.java:1639)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.lambda$tryToExecute$16(ActionManagerImpl.java:1626)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.tryToExecute(ActionManagerImpl.java:1628)
at com.intellij.execution.actions.RunConfigurationsComboBoxAction.performWhenButton(RunConfigurationsComboBoxAction.java:154)
at com.intellij.execution.actions.RunConfigurationsComboBoxAction$RunConfigurationsComboBoxButton.fireActionPerformed(RunConfigurationsComboBoxAction.java:241)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:349)
at com.intellij.openapi.actionSystem.ex.ComboBoxAction$ComboBoxButton$1.mousePressed(ComboBoxAction.java:172)
at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6651)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
at java.desktop/java.awt.Component.processEvent(Component.java:6419)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2790)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:757)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:498)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
As mentionned in this plugin by @alexvictoor (https://github.com/alexvictoor/pitest-cucumber-plugin), Cucumber tests are not taken into account by PIT when running a mutation analysis. Similarly, the IntelliJ plugin currently doesn't run the Cucumber tests, and therefore a lot of mutations survive, while the Cucumber tests are actually supposed to kill them.
It would be great if similarly as pitest-cucumber-plugin, the plugin was taking Cucumber tests into account : the final result would be much more accurate.
Hi!
Glad to see this plugin, it's a useful tool to save us time on re-running/debugging our mutation tests, for which the full suite can take... a while to run. :D
However, in our project configuration, due to a PIT version upgrade changing the defaults, we set the mutators
parameter to OLD_DEFAULTS
. There is a plan to move to the 'new defaults' set of mutators, but for now it would be good to be able to set the --mutators OLD_DEFAULTS
parameter in the run configuration for this plugin.
I've tried editing the default run configuration as below to specify the option:
But when running from the project view, the command-line passed to Java doesn't add the --mutators OLD_DEFAULTS
parameter, so the 'new defaults' set of mutators is run:
After having run the run config, nothing is added to the 'Run Configurations' list in IntellIj to be able to edit it either - is there something I'm missing in that space?
Let me know if anything is unclear, and thanks for taking a look!
It would be great to have an ability to see mutation coverage just in an editor (like the "normal" code coverage).
Directories should be selectable (browse & select), rather than they have to be typed now.
Package names can also browse and selectable
similar to what exists in application config
Other parameters should also be selectable (display all allowed parameters in a table and all the valid options if exits should allow user to select)
in similar lines to
Make it so UI friendly that, none has to search for what are the valid options for pitest framework allowed options
I'm trying to run Pitest in my project, but keep receiving this error:
Failed to execute goal org.pitest:pitest-maven:1.14.2:mutationCoverage (default-cli) on project image-finder: Execution default-cli of goal org.pitest:pitest-maven:1.14.2:mutationCoverage failed: No mutations found. This probably means there is an issue with either the supplied classpath or filters.
I'm trying to run Pitest from the command line using: mvn clean org.pitest:pitest-maven:mutationCoverage
I've tried:
I'm using Junit 5 and have included the necessary JUnit 5 dependency for Pitest. I don't know what else to do to fix this issue
Hello, I tried to use the plugin but found out that it does not pass a proper classpath to PIT - in the 'edit configuration' I cannot choose which project classpath should be used, and therefore no project classpath is given.
the effect is that PIT setting classPathElements does not have classes from my project and says it cannot mutate a thing.
When I try to run pit using configuration "Pit Run" I obtain this error.
|Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)
Caused by: java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1447)
at java.util.HashMap$KeyIterator.next(HashMap.java:1469)
at org.pitest.mutationtest.report.html.MutationTestSummaryData.getPackageName(MutationTestSummaryData.java:60)
at org.pitest.mutationtest.report.html.MutationHtmlReportListener.generateAnnotatedSourceFile(MutationHtmlReportListener.java:81)
at org.pitest.mutationtest.report.html.MutationHtmlReportListener.handleMutationResult(MutationHtmlReportListener.java:251)
at org.pitest.mutationtest.config.CompoundTestListener.handleMutationResult(CompoundTestListener.java:39)
at org.pitest.mutationtest.execute.MutationAnalysisExecutor.processResult(MutationAnalysisExecutor.java:70)
at org.pitest.mutationtest.execute.MutationAnalysisExecutor.run(MutationAnalysisExecutor.java:53)
at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:152)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:120)
at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:50)
at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87)
at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)
... 5 more
stderr : Error opening zip file or JAR manifest missing : C:\Users\Dario\AppData\Local\Temp\1572027438368057578962310667673226262723022483135.jar
I work with a huge project with multiple nested subprojects, and I'm getting this:
when trying to run the plugin on a single class.
For configuration types like JUnit, there's "Shorten command line" option which, I believe, would solve this issue. Could you add something similar to the PIT plugin?
It might be a reincarnation of #18 where people still report it doesn't work despite the comment of the issue being fixed in 1.4.0. #31 mentions 1.4.3 as the fix version of a similar problem.
Plugin version: 1.4.4 (BTW, https://github.com/mjedynak/pit-idea-plugin/releases mentions 1.4.3 as the newest one - perhaps worth adding 1.4.4 to the releases)
IntelliJ IDEA 2020.2.1 (Ultimate Edition), Build #IU-202.6948.69, built on August 24, 2020
Tried to run PIT against a spock spec and got a nasty exception:
Exception in thread "main" java.lang.ClassNotFoundException: org.pitest.mutationtest.MutationCoverageReport
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
Seems like there's no support for Groovy + Spock yet? :)
Hi there!
First of all, I have been using this plugin for a while and I want to thank you for this wonderful tool :)
Unfortunately, the plugin is not yet compatible with jUnit 5.9.1. This implies that tests annotated with @ParameterizedTest
and @MethodSource
are not working anymore.
That is why I would like to ask you to bump up the pitest-junit5-plugin
to fix it as indicated in the plugin repo.
Best regards,
Nahuel
multimodule maven project structure:
a\pom.xml
a\b\pom.xml
a\c\pom.xml
java.lang.NullPointerException
at pl.mjedynak.idea.plugins.pit.gui.PitConfigurationForm.getReportDir(PitConfigurationForm.java:27)
at pl.mjedynak.idea.plugins.pit.PitRunConfiguration.formIsEmpty(PitRunConfiguration.java:122)
at pl.mjedynak.idea.plugins.pit.PitRunConfiguration.populateFormIfNeeded(PitRunConfiguration.java:116)
at pl.mjedynak.idea.plugins.pit.PitRunConfiguration.getConfigurationEditor(PitRunConfiguration.java:60)
It would be nice if we have the same behavior as normal unit tests/coverage reports.
When you right click on a test file, you can run mutation tests only for that file.
When you right click on a package in project view, you can run mutation tests for all the unit tests in that package.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.