【发布时间】:2014-06-01 19:22:47
【问题描述】:
我有一堂课:
class Abc
{
public static int fun() {
// some stuff
return 5;
}
}
我还有一门课:
class Pqr
{
public int funToTest() {
return Abc.fun();
}
}
我正在使用 mockito 进行如下测试:
class PqrTest {
public int testFunToTest() {
Abc ob = Mockito.mock(Abc.class);
Mockito.when(ob.fun()).thenReturn(12);
}
}
现在这样的测试工作正常。但是由于 fun() 是一个静态方法,我认为不应该通过对象调用它。 如何在不使用 mockito 调用 fun() 方法的实际实现的情况下返回 12。 我也不想通过 Abc 类的模拟对象调用 fun() ,就像我在上面所做的那样。
【问题讨论】:
-
如果你真的想模拟一个静态方法,你可以使用 PowerMock(它扩展了 EasyMock 和 Mockito)。
标签: java unit-testing mockito