java mock私有方法_java单元测试使用jMockit mock私有方法

2014-02-14 06:30:02

阅读( 550 )

jMockit简直是万能的,私有方法也可以方便的做Mock。如下是mock私有方法的代码:

要测试的类

package cn.outofmemory.junit.jmockit;

public class MockTarget{

private Object privateMethod() {

return "Hello Object";

}

public String publicMethod() {

return (String)this.privateMethod();

}

}

测试类:

package cn.outofmemory.junit.jmockit;

import mockit.Expectations;

import mockit.Injectable;

import mockit.MockUp;

import mockit.Mocked;

import mockit.Mockit;

import mockit.NonStrict;

import mockit.Tested;

public class MockTargetTest {

@BeforeClass

static public void beforeClass() {

Mockit.setUpMocks();

}

@Mocked

private MockTarget mt;

@Test

public void testPrivateMethodMock() {

new Expectations(mt) {

{

// 对私有方法进行mock

this.invoke(mt, "privateMethod");

result = "Hello Object";

}

};

Object actual = mt.publicMethod();

assertEquals(actual,"Hello Object");

}

}

jMockit对于私有方法的mock很简单,只需要在使用实例之前通过Expectations(target){{}}定义要mock的私有方法的返回值即可。

分享给朋友:

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息:

面试题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值