首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMockit未被正确初始化

JMockit未被正确初始化
EN

Stack Overflow用户
提问于 2015-09-28 07:45:06
回答 3查看 6.8K关注 0票数 5

我正在使用junit 4.12jmockit 1.19spring-test 4.1.1.RELEASE来测试Spring项目。

这些依赖项在我的pom.xml中的顺序

  • jmockit
  • junit
  • spring-test

服务层的测试用例运行良好。我只使用弹簧测试来测试控制器.在测试控制器时,我得到了以下错误:

java.lang.IllegalStateException: JMockit没有正确初始化;请确保jmockit在运行时类路径中位于junit之前,或者使用@RunWith(JMockit.class)

对于服务层,我通过在测试类上使用@RunWith(JMockit.class )来解决这个错误。

但是对于控制器,我需要用@RunWith(SpringJUnit4ClassRunner.class )进行注释。

如何解决此错误?

注意:我把jmockit 放在 junit in pom.xml之前

EN

回答 3

Stack Overflow用户

发布于 2015-09-28 15:50:31

我不完全确定这会解决您的问题,因为我刚刚开始使用jmockit并遇到类似的样式问题。

你试过使用-javaagent:?应用于所有JUnit测试(Eclipse)的最简单方法是转到您的JRE设置,并将其添加为VM参数(Preferences->JRE->Edit->VM默认值)。

此外,我还通过Marketplace找到了一个Eclipse插件,它将自动将javaagent附加到任何junit测试中,以避免JRE配置。

最后,在POM中,您可以尝试(尽管我还没有亲自测试它):

代码语言:javascript
复制
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <argLine>-javaagent:${org.jmockit:jmockit:jar}</argLine>
            </configuration>
        </plugin>

但是,请记住,这只适用于maven启动的测试,而不是通过IDE。我还没有找到让m2e插件理解将javaagent附加到junit测试的需求的方法。

票数 0
EN

Stack Overflow用户

发布于 2018-07-12 17:36:26

尝试更新您的Maven项目。在Eclipse中,右键单击项目并转到Maven >.

票数 0
EN

Stack Overflow用户

发布于 2019-05-22 07:14:45

当我使用JMockit版本1.41时,我的测试工作正常,但在以后的Maven储存库版本中得到相同的错误

错误: java.lang.IllegalStateException: JMockit没有正确初始化;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32817982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档