jmockit学习使用笔记

jmockit是一款优秀的单元测试工具框架,项目官方网址在这里。我们这里学习它的使用,工作原理。

设置环境

设置maven pom依赖

<dependencies>
   <dependency>
      <groupId>org.jmockit</groupId>
      <artifactId>jmockit</artifactId>
      <version>${jmockit.version}</version>
      <scope>test</scope>
   </dependency>
</dependencies>

设置javaagent变量
不清楚从什么版本后,需要设置javaagent变量。

执行单测试类时命令如下:

mvn test -Dtest=com.gson.jmockit.tutorial.domain.ProgramConstructureTest -DargLine=“-javaagent:/Users/ruchen/.m2/repository/org/jmockit/jmockit/1.46/jmockit-1.46.jar”

如果设置maven-sunfire-plugin,则如下

<plugins>
   <plugin>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.22.2</version> <!-- or some other version -->
      <configuration>
         <argLine>
            -javaagent:"${settings.localRepository}"/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar
         </argLine>
      </configuration>
   </plugin>
</plugins>

覆盖率配置

maven pom

<dependency>
      <groupId>org.jmockit</groupId>
      <artifactId>jmockit</artifactId>
      <!--1.46之后不再支持mock私有方法 -->
      <version>1.46</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

maven-surefire-plugin

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.2</version> <!-- or some other version -->
        <configuration>
          <argLine>
            -javaagent:"${settings.localRepository}"/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar=coverage
<!--            -Dcoverage-outputDir=target/coverage-report-->
            -Dcoverage-output=html
<!--            -DforkCount=0-->
          </argLine>
<!--          <systemPropertyVariables>-->
<!--            <coverage-output>html</coverage-output>-->
<!--            <coverage-metrics>all</coverage-metrics>-->
<!--            <coverage-outputDir>target/coverage-report</coverage-outputDir>-->
<!--          </systemPropertyVariables>-->
        </configuration>
      </plugin>

实践中发现使用mvn test 且想要输出覆盖率报告文件时,要设置coverage-output=html, 因为1.46版本下不设置该变量不启用覆盖率报告功能。(待深入学习)

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值