jmockit教程_jmockit demo

1、@Mocked,标识一个指定的class的实例或被测对象的参数被Mock掉。

2、@Capturing,标识一个被Mock的对象,从该对象派生的子类也被Mock了。

3、@Injectable,标识只有一个指定的被测对象的内部变量被mock,其他和被mock实例采用相同对象的实例不受影响。相当于对于被Injectable的class,其构造方法等各种方法仍然采用原有代码来实例化,并未完全委托给JMockit来做。

4、@Tested,标识一个被测对象的实例。通过@Tested标签标识的被测对象实例,将会在测试方法执行之前被初始化。可以通过@Inject注解对被测对象的构造函数进行改写。如果没有@Inject,则采用原有代码进行初始化。如果同时@Tested的fullyInitialized参数被设置成了true,则被测对象的所有参数都需要被初始化成一个合适的值。

基础例子:

public class MyObject {

public String hello(String name){

return "Hello " + name;

}

}

@RunWith(JMockit.class)

public class JmockitClass {

@Mocked //会将所有的方法

MyObject obj;

@Test

public void testHello(){

new Expectations() {//设置预期行为

{

obj.hello("Zhangsan");result="hello zhangsan";

}

};

assertEquals("hello zhangsan", obj.hello("Zhangsan"));//调用测试方法

new Verifications() {//验证预期Mock行为被调用

{

obj.hello("Zhangsan");

times = 1;//调用次数

}

};

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值