jmockit/jmockit1

Jmockit giving NoClasssDefError with java 11

ThejasJainMJ opened this issue · 2 comments

Please provide the following information:

  • Version of JMockit that was used: 1.45

  • Description of the problem or enhancement request:
    previously iwas using jmockit version 1.24 with java 8 that is working perfectly fine. But i upgrades to java 11 after this it started throwing NoClassDefFound error. After i update jmockit version to 1.45 but still it throwing same error.

com.accurev.gitserver.fw.parsers.IssuesParserTest Time elapsed: 0 s <<< ERROR! java.lang.NoClassDefFoundError: Could not initialize class com.accurev.gitserver.constants.TestConstants at com.accurev.gitserver.fw.parsers.IssuesParserTest.setUp(IssuesParserTest.java:35)

Does jmockit is compatible with java 11.

pom.xml

<junit.jupiter.version>5.6.0</junit.jupiter.version>
<junit.platform.version>1.5.2</junit.platform.version>
<jmockit.version>1.45</jmockit.version>

org.junit.jupiter junit-jupiter-engine ${junit.jupiter.version} test org.junit.platform junit-platform-runner ${junit.platform.version} test org.mockito mockito-core 2.21.0 test org.mockito mockito-junit-jupiter 2.23.0 test org.jmockit jmockit ${jmockit.version}
    </dependency>

                         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
                         </plugin>
  • Check the following:
  • If a defect or unexpected result, JMockit project members should be able to reproduce it.
    For that, include an example test (perhaps accompanied by a Maven/Gradle build script) which
    can be executed without changes and reproduces the failure.

  • If an enhancement or new feature request, it should be justified by an example test
    demonstrating the validity and usefulness of the desired enhancement or new feature.

  • The issue does not fall outside the scope of the project (for example, attempting to use
    JMockit APIs from Groovy or Scala code, or with an Android runtime).

  • The JDK where the problem occurs is a final release, not a development build.

You might want to migrate to mockito or use the above fork. Have built on @tinder-dthomson 's great work with much help from @timtebeek and added automation for more statements and improved robustness, including Jmockit Expectations, JMockit Verifications (v 8.29.0) and Jmockit NonStrictExpectations (v 8.30.0) . It's now looking like it would cover the majority of cases and may be worth exploring for migration to mockito

https://docs.openrewrite.org/recipes/java/testing/jmockit/jmockittomockito