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