我刚刚开始模拟我们应用程序的不同层。我的一个模拟对象在调用最终类静态方法时返回 NPE。有没有解决的办法?
例如
when(mockObject.someMethod(FinalClass.staticMethod(someParam)).anotherMethodCall)
.thenReturn("someString");
我刚刚开始模拟我们应用程序的不同层。我的一个模拟对象在调用最终类静态方法时返回 NPE。有没有解决的办法?
例如
when(mockObject.someMethod(FinalClass.staticMethod(someParam)).anotherMethodCall)
.thenReturn("someString");
您必须同时使用 PowerMock 和 Mockito。
我不明白您的代码片段试图做什么,但以下片段允许该类的静态getInstance()
方法Calendar
返回一个模拟Calendar
对象。也许这会为你指明正确的方向
在班级层面:
@RunWith(PowerMockRunner.class)
@PrepareForTest(Calendar.class)
public class XXXXXX {
在您的测试方法中:
PowerMockito.mockStatic(Calendar.class);
Calendar calendar = mock(Calendar.class);
when(calendar.get(eq(Calendar.HOUR_OF_DAY))).thenReturn(3);
Mockito.when(Calendar.getInstance()).thenReturn(calendar);