ich habe einen Junit TEst geschrieben
der immer die fehlermeldung zurück liefert:
java.lang.AssertionError:
Expected: is a signal after 200ms
but: The condition was not signaled within 200ms! Condition :not signaled within the last 219ms
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
at eu.gemtec.eagle.device.gemtec.msec.core.system.model.TestMsecModelManager.testUpdateSystemModelWithTimer(TestMsecModelManager.java:160)
in der zeile tritt der fehler auf
assertThat(stateUpdatedCondition, isSignaledWithin(milliSeconds(200)));
Es könnt ja auch sein , das mein test richtig ist und meine klasse falsch implementiert !?
kann mir jemand helfen?sehe da nicht durch???:L
Java:
/**
* Prüft, ob der Status eines Mitarbeiters mit einer bestimmten ID im
* SystemModel automatisch nach gewissen Sekunden auf
* {@link IStaff.State#NOT_AVAILABLE} gesetzt wird. Test mit nur einem
* {@link IStaff} Objekt.
*
* @throws Exception
*/
@Test
public void testUpdateSystemModelWithTimer() throws Exception {
final IStaffMessage message = context.mock(IStaffMessage.class);
// @formatter:off
context.checking(new Expectations() {{
oneOf(message).getId();
will(returnValue("23"));
oneOf(message).getState();
will(returnValue(IStaff.State.ALARM));
exactly(2).of(message).getCurrentPos();
will(returnValue(new Position(9, 45)));
}});// @formatter:on
modelManager.setMinUpdateRate(milliSeconds(9));
final ToggleCondition stateUpdatedCondition = new ToggleCondition();
StaffCfg staffCfg = new StaffCfg();
staffCfg.setId("23");
Set<StaffCfg> cfgs = new HashSet<StaffCfg>();
cfgs.add(staffCfg);
MsecSystemModel model = new MsecSystemModel(cfgs);
modelManager.setModel(model);
modelManager.updateSystemModel(message);
assertThat(stateUpdatedCondition, isSignaledWithin(milliSeconds(200)));
}
Java:
/**
* Liefert einen Matcher der die angegebene Zeit auf eine Condition wartet.
*
* @param duration
* @return
*/
public static Matcher<ToggleCondition> isSignaledWithin(final Duration duration) {
return new AwaitToggleConditionMatcher(duration);
}
der immer die fehlermeldung zurück liefert:
java.lang.AssertionError:
Expected: is a signal after 200ms
but: The condition was not signaled within 200ms! Condition :not signaled within the last 219ms
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
at eu.gemtec.eagle.device.gemtec.msec.core.system.model.TestMsecModelManager.testUpdateSystemModelWithTimer(TestMsecModelManager.java:160)
in der zeile tritt der fehler auf
assertThat(stateUpdatedCondition, isSignaledWithin(milliSeconds(200)));
Es könnt ja auch sein , das mein test richtig ist und meine klasse falsch implementiert !?
kann mir jemand helfen?sehe da nicht durch???:L