【发布时间】:2015-12-16 01:57:33
【问题描述】:
嗨,我有一个模拟类,对于它的大多数成员,我不介意它返回默认值,但可能有一些方法我希望模拟类对象使用真实方法,你如何配置这个测试?例如
public class MyClass {
public int func1() {
return 1;
}
public int func2() {
return 2;
}
public int run() {
return func1() + func2();
}
}
public class MyTest {
@Mock private MyClass mockedClass
@Before public void setup() {initMocks(this);}
@Test public void test() {
int result = mockedClass.func2();//I want the real func2() to run
assertEquals(2, result);
result = mockedClass.run();//I want the real run() and func2() to run
assertEquals(2, result);
}
}
我不想使用 spy,因为我必须为大多数我不关心的方法设置 when。
【问题讨论】:
-
不错!不知道这个方法,非常感谢!
标签: java unit-testing junit mockito