Hallo,
ich möchte einen Integrationstest schreiben und bin mir noch nicht sicher wie das aussehen sollte
In dem Test soll eine Methode getestet werden, die importierte Testdaten filtert.
Es gibt bereits einen normalen JUnit Test, der auf ein Mock zugreift und korrekt filtert!
Nun muss ich doch, so gehe ich davon aus, den mock sozusagen durch das reelle System ersetzen...?! Ist das grundsätzlich richtig?
Bzw. was ist der Unterschied zwischen Integ.- und JUnit-Tests?
So sieht mein JUnit Test aus:
ich möchte einen Integrationstest schreiben und bin mir noch nicht sicher wie das aussehen sollte
In dem Test soll eine Methode getestet werden, die importierte Testdaten filtert.
Es gibt bereits einen normalen JUnit Test, der auf ein Mock zugreift und korrekt filtert!
Nun muss ich doch, so gehe ich davon aus, den mock sozusagen durch das reelle System ersetzen...?! Ist das grundsätzlich richtig?
Bzw. was ist der Unterschied zwischen Integ.- und JUnit-Tests?
So sieht mein JUnit Test aus:
Java:
@Test
public void testFilterOldPositions() {
String defaultValue = "default";
String valuationDateKey = "valuationDate";
Preferences preferences = mock(Preferences.class);
when(preferences.get(valuationDateKey, defaultValue)).thenReturn("2011-01-01");
try {
ArrayList<PositionInDto> positions = new ArrayList<PositionInDto>();
int pos = 1;
positions.add(createPosition(Long.valueOf(pos++), Date.valueOf("2010-02-02"))); // should be filtered
positions.add(createPosition(Long.valueOf(pos++), Date.valueOf("2010-04-04"))); // should be filtered
positions.add(createPosition(Long.valueOf(pos++), Date.valueOf("2012-03-03"))); // shouldn't be filtered
positions.add(createPosition(Long.valueOf(pos++), Date.valueOf("2012-05-05"))); // shouldn't be filtered
SapFetchOrderHelper sapFetchOrderHelper = new SapFetchOrderHelper();
sapFetchOrderHelper.setPreferences(preferences);
sapFetchOrderHelper.filterOldPositions(positions);
int numberOfRemainingPositions = 2;
assertEquals(numberOfRemainingPositions, positions.size());
} catch (Exception e) {
fail();
}
}