Adnotacje:
- @MethodSource
- @ValueSource
- @CsvSource
są indywidualnym wyborem programisty, w połączeniu z @ParameterizedTest, powinna występować tylko jedna z nich.
pseudokod wykorzystujący @MethodSource - dla osób, które lubią wyzwania
```
@ParameterizedTest
@MethodSours
shouldException(Map filter) {
}
private static Stream<Map<String, String>> shouldException() {
return Stream.of(
new HashMap<>{{ put(key1, value1) }},
new HashMap<>{{ put(key2, value2) }},
new HashMap<>{{ put(key3, value3) }}
)
}
```
nazwy metod muszą być identyczne, aby mechanizm wstrzikiwania parametrów zadziałał (można to zmienić - warto doczytać)
HINT - zadanie z gwiazdką - możesz nadać scenariuszom nazwy, które będą widoczne w podsumowaniu wykonanego testu.
Zamiast informacji: "filter={to=2000-01-01}", możesz mieć informację: "Testuję filtr dla 'to'", aby tego dokonać, należy skorzystać z parametru adnotacji:
@ParameterizedTest(name = "{0}") i zmodyfikować metodę statyczną, powinna zwracać
Stream<Arguments>
zachęcam do zapoznania się z tym mechanizmem,jednak poznanie go nie jest konieczne to skończenia tego zadania.
Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online
Strona www stworzona w kreatorze WebWave.