我有一个问题 mocking Calendar.getInstance()
。正如你现在这个方法返回一个日历 - 我正在模拟的对象。
现在我的代码如下所示:
@RunWith(PowerMockRunner.class)
@PrepareForTest(Calendar.class)
public class SurveillanceDatabaseTest {
@Test
public void testFailingDatabase() throws Exception {
mockStatic(Calendar.class);
Calendar calendar = new GregorianCalendar();
calendar.add(Calendar.HOUR, 1);
when(Calendar.getInstance()).thenReturn(calendar);
final Surveillance surveillance = new Surveillance();
surveillance.checkDatabase();
}
}
Calendar.getInstance()
surveillance.checkDatabase()
每次它是一个新对象而不是 Calendar 的预期模拟时,都会被多次调用。
谁能看到我做错了什么?