There are times when you will land into problems while running Mock tests using Mockito. A Sample error could be like:
java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker
The issue is that the Mockito core depends on a library called byte-buddy and this problem is mostly occurred when mockito doesn’t find a matching byte buddy jar version.
Error screenshot:
To Solve this issue find out the mockito core version your project is using.
In eclipse, you can check in project build path by navigating as follows:
Right click on project -> Properties -> Java build path -> Libraries tab
For IntelliJ This could be different. Look the screenshot below:
Description of issue:
The actual issue it seems is because of error from ByteBuddyAgent. I found following stacktraces that pointed me to the error:
Caused by: java.lang.IllegalStateException: Error during attachment using: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Compound@e32787d
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:316)
at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.<clinit>(InlineByteBuddyMockMaker.java:102)
... 34 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:303)
Solution to fix the error:
Look at the Compile Dependencies section. Note down the correct dependent version of byte-buddy and include in the project. If the jar is already included with some other version, override the version with this correct version.
Also, i did see following in stacktrace:
[ERROR] error: error while loading Object, Missing dependency 'object scala in compiler mirror', required by /modules/java.base/java/lang/Object.class
So, fix above two issues. Build the application and run the tests again. Your issue related to MockMaker must be solved by now.
Voila :)
Enjoy!
No comments:
Post a Comment