我正在尝试使用mockito和powermock在Junit中编写@test。我没有问题存根没有参数的方法。然而,当我尝试告诉mockedBank无论传递到latePay什么都返回true时,我得到了java.lang.NullPointerException。latePay是最后一种方法,这就是我使用powermock的原因。任何建议都非常感谢。
BankGenerator mockedBank = PowerMockito.mock(BankGenerator.class);
when(mockedBank.latePay(Matchers.any(MoneyCalculator.class))).thenReturn(true);
包含测试的类中添加了正确的注释?
例如:
@RunWith(PowerMockRunner.class)
@PrepareForTest(ClassWithFinalMethod.class)
public class ClassContainingUnitTests {
...
}
我过去曾将PowerMock与EasyMock一起使用,忘记包含这些注释有时会导致奇怪的结果。
如需进一步参考,请查看此处:http://www.codeproject.com/Articles/806508/Using-PowerMockito-to-Mock-Final-and-Static-Method
希望这有帮助。