JMockit 介绍 4 使用JMockit运行测试
目录
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运行测试相关推荐
- 【原创】如何使用Jmockit进行单元测试
如何使用jmockit进行单元测试 1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrume ...
- 单元测试mock框架——jmockit实战
JMockit是google code上面的一个java单元测试mock项目,她很方便地让你对单元测试中的final类,静态方法,构造方法进行mock,功能强大.项目地址在:http://jmocki ...
- 使用JMockit编写java单元测试
之前<有效使用Mock编写java单元测试>一文中层介绍过使用EasyMock和PowerMock来编写java单元测试,今天介绍一个更加强大的工具--JMockit. 引用单元测试中mo ...
- 单元测试实践思考(junit5+jmockit+testcontainer)
文章目录 背景 方案设计 单元测试指导思想 单层隔离 内部穿透 技术实现 依赖管理 基础架构 封装Junit5&Jmockit 单元测试配置 TestContainer封装 官方方案 实际方案 ...
- Jmockit的使用总结
前言 Deencapsulation.newUninitializedInstance(clazz) 跳过构造函数创建对象 我几乎都是参考JMockit中文网学习的Jmockit.在这必须得强烈安利一 ...
- Jmockit 使用教程
Jmockit 使用教程 Jmockit配置 在Maven pom.xml配置 JUnit4.x及以下用户特别注意事项 JMockit Coverage配置 Jmockit 程序结构 代码结构 测试属 ...
- jmockit教程_【原创】如何使用Jmockit进行单元测试
如何使用jmockit进行单元测试 1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrume ...
- 单元测试-JMockit
1.JMockit介绍:所有的测试归根到底是检验产品的质量,而产品的质量是整个团队成员都有责任守护的,单测谁来做,我觉得看公司氛围和制度.说到单元测试框mock,其实是让你关注你要测试的代码,设计到外 ...
- JMockit 1.37 示例
2019独角兽企业重金招聘Python工程师标准>>> 环境 1. JDK 1.8 2. 依赖 <dependency><!-- jmockit 必须在Junit之 ...
最新文章
- 简单粗暴彻底解决selenium+chromedriver无法定位各种元素的方法
- android 锁屏音量,Android锁屏状态获取音量按键事件
- spring mysql整合_springboot mybatis mysql 整合
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.2.4 匿名类型
- 计算机网络:VLAN和VXLAN
- IDLE打开Python报错 api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
- python数字组合算法_python - 简单算法题 - 求三位数组合
- mysql md5全库比较_关于mysql搭建亿级cmd5数据库,毫秒级查询(完整过程)
- Windows部署KMS服务器
- Saleh-Valenzuela 毫米波信道模型
- PV、UV、UIP、VV、CPC、CPM、RPM、CTR是什么意思?
- 排序算法伪代码以及python实现——插入,归并,快速,堆,计数
- pdf转换成word后有文字叠加_将PDF转换成Word文档后,为什么字体全变了?
- 如何搜索别人百度云网盘分享的资源
- 思科关闭日志_详解Cisco(思科)路由器的故障日志
- VS 2019 C++ 如何在非控制台程序中打开控制台
- python微信朋友圈刷图_10分钟用Python做个微信朋友圈抽奖九宫格
- Image Matting代码和算法效果总结
- MacBookPro的系统偏好设置(包含触控板设置)
- 无线Mesh自组网方案,CV5200无线模组应用,支持高清数据远距离传输