美文网首页jmockit单元测试
jmockit使用环境部署

jmockit使用环境部署

作者: 花菜回锅肉 | 来源:发表于2019-07-28 21:30 被阅读0次

使用jmockit是由于工作中项目需要,要将这套测试环境搭建起来,结果花了一天时间,搜了N个教程,都以失败而告终。遇到的问题如下:

  • 按照网上的教程引入jmockit和junit的jar包,但是注解@Mocked和@Test死活不能用
  • @Mocked修饰的实例 死活不能在录制(Expectations)和验证(Verifications)内部类里使用
    后来经过自己的摸索和stackoverflow 网站上的检索,终于在我怀疑人生,快要放弃的时候,完美解决了问题。现将步骤和踩坑点记录如下,以供广大T友们参考,若有问题欢迎提问。
  1. 引入jmockit需要的pom jar包,注意先后顺序
       <!-- 先声明jmockit的依赖 -->
        <dependency>
            <groupId>org.jmockit</groupId>
            <artifactId>jmockit</artifactId>
            <version>1.36</version>
            <scope>test</scope>
        </dependency>
        <!-- 再声明junit的依赖 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>

以上依赖引用是在各大网站中查出来的,都只是一笔带过,但我在实际使用过程中却发现根本无法使用相关注解。
在经过各种尝试搜索无果后,突然去查了<scope>test</scope>标签的用法,如下:


image.png

我正好是在编辑代码,也就是编译时无法使用@Test和@Mocked注解,于是去掉了该<scope>标签,问题就迎刃而解了。
正确的pom文件依赖引用如下:

<!-- 先声明jmockit的依赖 -->
        <dependency>
            <groupId>org.jmockit</groupId>
            <artifactId>jmockit</artifactId>
            <version>1.36</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

2.解决Mocked的实例无法在内部类使用的问题
这个问题的出现纯属自己粗心,忽视了其正确的语法规则。问题在一对大括号上。
如下图红框内所框:


image.png

就是因为少了这一对括号,让自己纠结了好久,几近怀疑人生。
总结:
1 与代码打交道时只所以会遇到很多困扰自己的问题,究其根源是对原理规则不了解,比如<scope>的用法
2 当遇到困扰自己很久且经过多方查证终无法解决的问题时,不妨静下心来仔细检查下基础的符号,拼写问题,有时候问题就出在细节上。

相关文章

网友评论

    本文标题:jmockit使用环境部署

    本文链接:https://www.haomeiwen.com/subject/mjbglctx.html