目录

4 使用JMockit运行测试

4.1从Maven运行测试

1 添加JMockit的Maven依赖

2 添加-javaagent JVM初始化参数

3 配置不正确,可能的报错

4.2从Gradle运行测试


4 使用JMockit运行测试

要运行使用任何JMockit API的测试,请按照通常的方式使用Java IDE,Maven / Gradle构建脚本等。 原则上,可以使用Windows,Mac OS X或Linux上的任何1.7或更高版本的JDK。 JMockit支持(并要求)使用JUnit(版本4或5)或TestNG; 具体来说,你需要:

  • 将jmockit依赖项或jar包添加到测试类路径。
  • 将测试执行JVM配置为以“”-javaagent:<正确路径> /jmockit.1.x.jar”初始化参数开头。 可以在构建脚本文件中为Maven或Gradle等工具指定,也可以在IntelliJ IDEA或Eclipse的“运行/调试配置”中指定。推荐在构建脚本中指定

4.1从Maven运行测试

1 添加JMockit的Maven依赖

JMockit工件位于Maven中央存储库中。 要在测试套件中使用它们,请将以下内容添加到pom.xml文件中:

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

注:jmockit.version在pom.xml中指定,如:

    <properties><jmockit.version>1.46</jmockit.version></properties>

2 添加-javaagent JVM初始化参数

确保指定的版本(此处在“jmockit.version”属性中指定)是您真正想要的版本。 在开发历史记录页面中查找当前版本。 JMockit还需要使用-javaagent JVM初始化参数; 当使用Maven Surefire插件进行测试时,它的指定如下:

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

3 配置不正确,可能的报错

(1)不添加依赖没法使用,这是毋庸置疑的。

(2)pom.xml中依赖顺序,jmockit放在junit之前,否则会报错:Caused by: java.lang.IllegalStateException: JMockit didn't get initialized; please check jmockit.jar precedes junit.jar in the classpath

(3)必须添加-javaagent JVM初始化参数,否则会报错:Caused by: java.lang.IllegalStateException: JMockit didn't get initialized; please check the -javaagent JVM initialization parameter was used 

有关在Maven中使用JMockit Coverage的信息,请参阅 http://jmockit.github.io/tutorial/CodeCoverage.html#maven 章中的相关部分。

4.2从Gradle运行测试

Gradle还将从mavenCentral()存储库下载必要的工件。 在gradle.build文件中,添加jmockit依赖项和测试配置,如果需要,替换所需版本的编号:

repositories {mavenCentral()
}def jmockitVersion = '1.xy'dependencies {... "compile" dependencies ...testCompile "org.jmockit:jmockit:$jmockitVersion"
}test {jvmArgs "-javaagent:${classpath.find { it.name.contains("jmockit") }.absolutePath}"
}

参考JMockit官网文档:http://jmockit.github.io/tutorial/Introduction.html#runningTests

JMockit 介绍 4 使用JMockit运行测试相关推荐

  1. 【原创】如何使用Jmockit进行单元测试

    如何使用jmockit进行单元测试 1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrume ...

  2. 单元测试mock框架——jmockit实战

    JMockit是google code上面的一个java单元测试mock项目,她很方便地让你对单元测试中的final类,静态方法,构造方法进行mock,功能强大.项目地址在:http://jmocki ...

  3. 使用JMockit编写java单元测试

    之前<有效使用Mock编写java单元测试>一文中层介绍过使用EasyMock和PowerMock来编写java单元测试,今天介绍一个更加强大的工具--JMockit. 引用单元测试中mo ...

  4. 单元测试实践思考(junit5+jmockit+testcontainer)

    文章目录 背景 方案设计 单元测试指导思想 单层隔离 内部穿透 技术实现 依赖管理 基础架构 封装Junit5&Jmockit 单元测试配置 TestContainer封装 官方方案 实际方案 ...

  5. Jmockit的使用总结

    前言 Deencapsulation.newUninitializedInstance(clazz) 跳过构造函数创建对象 我几乎都是参考JMockit中文网学习的Jmockit.在这必须得强烈安利一 ...

  6. Jmockit 使用教程

    Jmockit 使用教程 Jmockit配置 在Maven pom.xml配置 JUnit4.x及以下用户特别注意事项 JMockit Coverage配置 Jmockit 程序结构 代码结构 测试属 ...

  7. jmockit教程_【原创】如何使用Jmockit进行单元测试

    如何使用jmockit进行单元测试 1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrume ...

  8. 单元测试-JMockit

    1.JMockit介绍:所有的测试归根到底是检验产品的质量,而产品的质量是整个团队成员都有责任守护的,单测谁来做,我觉得看公司氛围和制度.说到单元测试框mock,其实是让你关注你要测试的代码,设计到外 ...

  9. JMockit 1.37 示例

    2019独角兽企业重金招聘Python工程师标准>>> 环境 1. JDK 1.8 2. 依赖 <dependency><!-- jmockit 必须在Junit之 ...

最新文章

  1. 简单粗暴彻底解决selenium+chromedriver无法定位各种元素的方法
  2. android 锁屏音量,Android锁屏状态获取音量按键事件
  3. spring mysql整合_springboot mybatis mysql 整合
  4. Visual C# 2008+SQL Server 2005 数据库与网络开发――3.2.4 匿名类型
  5. 计算机网络:VLAN和VXLAN
  6. IDLE打开Python报错 api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
  7. python数字组合算法_python - 简单算法题 - 求三位数组合
  8. mysql md5全库比较_关于mysql搭建亿级cmd5数据库,毫秒级查询(完整过程)
  9. Windows部署KMS服务器
  10. Saleh-Valenzuela 毫米波信道模型
  11. PV、UV、UIP、VV、CPC、CPM、RPM、CTR是什么意思?
  12. 排序算法伪代码以及python实现——插入,归并,快速,堆,计数
  13. pdf转换成word后有文字叠加_将PDF转换成Word文档后,为什么字体全变了?
  14. 如何搜索别人百度云网盘分享的资源
  15. 思科关闭日志_详解Cisco(思科)路由器的故障日志
  16. VS 2019 C++ 如何在非控制台程序中打开控制台
  17. python微信朋友圈刷图_10分钟用Python做个微信朋友圈抽奖九宫格
  18. Image Matting代码和算法效果总结
  19. MacBookPro的系统偏好设置(包含触控板设置)
  20. 无线Mesh自组网方案,CV5200无线模组应用,支持高清数据远距离传输

热门文章

  1. CrashLoopBackOff
  2. leetcode 5473-灯泡开关4
  3. 一个微信可以有多个头像昵称了
  4. APP开发之apicloud(一)
  5. mysql下载安装(简单)
  6. AES解密失败 WxMaCryptUtils.decrypt(sessionKey,encryptedData, iv)
  7. 基于遗传算法的新安江模型参数优化率定(四)
  8. Unity 3D游戏编程自学#7——NGUI入门
  9. 1174:大整数乘法
  10. LeetCode 2312. 卖木头块