我有一个班级:
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()。
答案 0 :(得分:1)
您可以使用PowerMock等工具实现目标。
同时,您应该知道,从测试角度来看,存在一些“错误”的代码。如果是这种情况,那么正确的方法是更改代码,直到它易于测试。大多数情况下,你会发现这个变化使代码变得“更好”:减少错误,更容易理解和维护,更容易使用。