Dies ist eine alte Version des Dokuments!
LU06b - Hinweise zu Teststufen und Test Doubles
Hinweis 1
Testing Doubles können sowohl in Unit-, als auch in Integrationtests vorkommen. Jedoch können kommen die unterschiedlichen Typen aufgrund ihrer Charakteristik unterschiedlich oft vor.
Bei vielen Unittests kann man ganz auf Doubles verzichten, bei den Integrationstests sind Doubles in der Regel jedoch oft notwendig.
| Double | Unit Test | Integration Test |
|---|---|---|
| Dummy | sehr häufig | selten |
| Stub | häufig | gelegentlich |
| Fake | gelegentlich | sehr häufig |
| Spy | häufig | möglich |
| Mock | möglich | möglich |
Hinweis 2
In der Praxis ist es nicht unüblich die Ausführung von Unittests und Integrationstests zu separieren.
Jedoch gibt es die verschiedensten Arten dies umzusetzen:
- Separate Verzeichnisse
- Naming Pattern der Testdateien
- Parent-Klassen
- Tagging (z.B. in JUnit5)
- …
Beispiel von Tagging:
@Test @Tag("IntegrationTest") public void testAddEmployeeUsingSimpelJdbcInsert() { ... } @Test @Tag("UnitTest") public void givenNumberOfEmployeeWhenCountEmployeeThenCountMatch() { ... }