Jmockit 使用小结 version1.46

Olinda ·
更新时间:2024-09-20
· 784 次阅读

使用时要注意版本

jmockit是与junit搭配使用的测试框架每一个版本的jmockit都有对应的junit版本,可以在maven仓库官网查看关系

注意版本变化中方法的弃用

在1.19版本之后,弃用了许多方法,而网上的许多教程贴不写对应的版本,这就会造成测试失败,以下是对应关系

1.25删除了NonStrictExpectations Jmockit是在1.26版本才正式开始支持junit5的初始版本的 1.33可用的@Injectable和@Tested声明对象会被注入到@Tested对象中,无论是否有fullyInitialized的声明,静态成员除外 Jmockit1.36舍弃了Deencapsulation的invoke方法,Jmockit中文网的作者建议使用这个版本的Jmockit 1.36移除了StrictExpectations类 1.40JMockit现在需要JDK 1.7+来执行测试。删除了对JDK 1.6的支持 1.41添加了对@Tested在JUnit 4/5测试方法参数中作为元注释使用的支持。 1.42JMockit现在需要使用“ -javaagent”JVM初始化参数,例如 maven-surefire-plugin 2.0.0 -javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar 记得配置jmockit.version 1.44舍弃了Deencapsulation的setfield方法 1.46支持了junit5.4.0 1.47舍弃了Deencapsulation这个类,并移除了@Mocked的stubOutClassInitialization属性 如果mock代码没有执行会报错

mock之后的代码必须要执行,否则就会报错,这种错误有两种情况,一种是没有执行到相应的位置程序就停止了,第二种是mock代码设置不当,导致与被测试的代码有偏差,注意:mock报错时需要注意程序犯错和mock犯错分清


作者:大哥超帅



jmockit version 小结

需要 登录 后方可回复, 如果你还没有账号请 注册新账号