Выполнение этого теста:JMockit насмешливый System.currentTimeMillis()
@Test
public void testSystemCurrentTimeMillis() {
new NonStrictExpectations(System.class) {{
System.currentTimeMillis(); result = 1438357206679L;
}};
long currentTime = System.currentTimeMillis();
assertEquals(1438357206679L, currentTime);
}
Я получаю IllegalStateException:
java.lang.IllegalStateException: Missing invocation to mocked type at this point; please make sure such invocations appear only after the declaration of a suitable mock field or parameter at unittests.DateTest$1.(DateTest.java:24) at unittests.DateTest.testSystemCurrentTimeMillis(DateTest.java:23)
Что случилось с моим Теста (JMockit 1,18)?
Что является результатом? можете ли вы поделиться всем кодом класса. Также что такое NonStrictExpectations ??? вы также можете поделиться этим кодом. – StackFlowed
NonStrictExpectations - класс JMockit. результат используется для JMockit. http://jmockit.org/tutorial/Mocking.html#expectation – trunkc
Я всегда использую org.joda.time.DateTimeUtils для получения текущего времени DateTimeUtils.currentTimeMillis() и в модульном тесте DateTimeUtils.setCurrentMillisFixed (longValue) в конце DateTimeUtils. setCurrentMillisSystem() – StackFlowed