我有一个同时具有静态和非静态方法的类,并希望为它们编写单元测试用例。 ClassA的{
static getInstance()
{
// to do logic
}
void log()
{
system.out.print();
}
}
classA的测试用例是
ClassTest
{
public void setup()
{
PowerMockito.mockStatic(ClassA.class);
mockA = PowerMockito.mock(ClassA.class);
Mockito.when(ClassA.getInstance("user")).thenReturn(mockA);
Mockito.doNothing().when(mockA).log(Mockito.anyString(), Mockito.anyString(), Mockito.any(Exception.class), Mockito.anyMap());
enter code here
}
}
当我调用log方法时,我会遇到异常。我们如何嘲笑这个?
答案 0 :(得分:1)
认真回答:不要那样做。
简单地避免编写需要PowerMock的生产代码;例如,因为您正在调用静态方法。
通常,“对PowerMock的需求”直接转换为:您的设计需要改进!
你很快就会发现PowerMock会产生更多正在解决的问题。因此:避免使用它。