java.lang.IllegalStateException:JMockit 未正确初始化;检查类路径中 jmockit.jar 是否在 junit.jar 之前

use*_*528 6 code-coverage jmockit junit4

当我尝试运行 Junit 测试用例时,我遇到了异常。如果我正在更改类路径条目顺序,它工作正常,但 Jococo 覆盖不起作用。它正在挂起。任何人都可以帮助解决这个问题。

<classpathentry kind="lib" path="libt/junit-4.8.2.jar"/>
<classpathentry kind="lib" path="lib/jmockit.jar"/>
java.lang.IllegalStateException: JMockit wasn't properly initialized; check that jmockit.jar precedes junit.jar in the classpath (if using JUnit; if not, check the documentation)
    at com.amica.bc.testutil.BillingCenterTestUtil$1.<init>(BillingCenterTestUtil.java:18)
at com.amica.bc.testutil.BillingCenterTestUtil.setCurrentUserName(BillingCenterTestUtil.java:18)
    at amica.util.logging.TestAmicaGWLogger.setUp(TestAmicaGWLogger.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Run Code Online (Sandbox Code Playgroud)

小智 5

症状:使用 Jmockit 和 junit 运行 maven 到 java 项目时出错。

消息:JMockit 未正确初始化;检查类路径中 jmockit.jar 是否在 junit.jar 之前(如果使用 JUnit;如果不是,请查看文档)

原因:

POM.xml 文件中配置错误。Jmockit 依赖是在 junit 之后。

解决方案:

编辑 POM.xml 文件。jmockit.jar 应该在 junit.jar 之前,然后 jmockit 依赖应该在 junit 之前。


Sti*_*tim 1

我的问题是测试是在main源文件夹中定义的,而不是在test源文件夹中。我们在具有范围测试的 pom 中定义了 jmockit 和 junit 的依赖项。因此,他们无法参加本次测试。

IDE 在编辑和编译期间并不那么严格,因此没有任何警告,但测试因同样的奇怪错误而失败。