我正在使用junit 4.12、jmockit 1.19和spring-test 4.1.1.RELEASE来测试Spring项目。
这些依赖项在我的pom.xml中的顺序
jmockitjunitspring-test服务层的测试用例运行良好。我只使用弹簧测试来测试控制器.在测试控制器时,我得到了以下错误:
java.lang.IllegalStateException: JMockit没有正确初始化;请确保jmockit在运行时类路径中位于junit之前,或者使用@RunWith(JMockit.class)
对于服务层,我通过在测试类上使用@RunWith(JMockit.class )来解决这个错误。
但是对于控制器,我需要用@RunWith(SpringJUnit4ClassRunner.class )进行注释。
如何解决此错误?
注意:我把jmockit 放在 junit in pom.xml之前
发布于 2015-09-28 15:50:31
我不完全确定这会解决您的问题,因为我刚刚开始使用jmockit并遇到类似的样式问题。
你试过使用-javaagent:?应用于所有JUnit测试(Eclipse)的最简单方法是转到您的JRE设置,并将其添加为VM参数(Preferences->JRE->Edit->VM默认值)。
此外,我还通过Marketplace找到了一个Eclipse插件,它将自动将javaagent附加到任何junit测试中,以避免JRE配置。
最后,在POM中,您可以尝试(尽管我还没有亲自测试它):
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-javaagent:${org.jmockit:jmockit:jar}</argLine>
</configuration>
</plugin>但是,请记住,这只适用于maven启动的测试,而不是通过IDE。我还没有找到让m2e插件理解将javaagent附加到junit测试的需求的方法。
发布于 2018-07-12 17:36:26
尝试更新您的Maven项目。在Eclipse中,右键单击项目并转到Maven >.
发布于 2019-05-22 07:14:45
当我使用JMockit版本1.41时,我的测试工作正常,但在以后的Maven储存库版本中得到相同的错误
错误: java.lang.IllegalStateException: JMockit没有正确初始化;
https://stackoverflow.com/questions/32817982
复制相似问题