Testy jednostkowe skryptów

Scenariusze testowe

Utworzenie testu jednostkowego

Dla każdego skryptu (serwisów i walidatorów) można zdefiniować scenariusze testowe. Po kliknięciu przycisku Testy jednostkowe w lewym pasku, otworzy się panel testów. Panel wyświetla aktualnie zdefiniowane przypadki testowe dla danego skryptu. Nowy test można dodać za pomocą znajdującego się na dole panelu przycisku Dodaj test.

Ilustracja 1. Panel testów jednostkowych

Każdy scenariusz ma do zdefiniowania:

  • Nazwę testu,

  • Opis testu,

  • Aktywność - czy jest uruchamiany po kliknięciu w przycisk Uruchom wszystkie,

  • Parametry wejścia - wartości jakie chcemy przetestować dla danego skryptu,

  • Dane wniosku,

  • Weryfikację wyjścia - wartości jakich oczekujemy dla zadanych w wejściu wartości:

    • Parametry wyjściowe dla serwisów,

    • Klucze komunikatów dla walidatorów.

Ilustracja 2. Parametry wejściowe testu

Ilustracja 3. Parametry weryfikacji wyniku testu

Wyniki testów jednostkowych

Wybrany test możemy uruchomić poprzez kliknięcie ikonki znajdującej się na kafelku z informacjami o scenariuszu testowym. Kliknięcie przycisku Uruchom wszystkie spowoduje uruchomienie wszystkich aktywnych testów.

Wynik testu może zostać oznaczony kolorem zielonym - testy zakończyły się ze spodziewanym rezultatem - lub czerwonym - błędny wynik.

Po wykonaniu testu pojawi się szuflada z logami, w której będą zawarte informacje:

  • Nazwa testu, który został wykonany,

  • Logi z testu,

  • Wartość wyjściowa.

W przypadku uruchomienia wszystkich testów, czas działania będzie sumą wykonania wszystkich testów. W szufladzie z logami są informacje o każdym poprzednim wykonaniu, rozdzielone pustą linią. Szufladę logów można oczyścić z logów przy użyciu przycisku Wyczyść logi.

Ilustracja 4. Test z wynikiem pozytywnym

Ilustracja 5. Test z wynikiem negatywnym

Dane wniosku w testach jednostkowych

Aplikacja przy tworzeniu testów jednostkowych umożliwia symulowanie danych znajdujących się na wniosku. W zakładce Dane wniosku możemy dodawać pola, które mają zwracać określoną wartość. Do podanych wartości odnosimy się za pomocą funkcji getValue() dostępnej na obiekcie context.

lustracja 6. Definiowanie danych wniosku przy testach jednostkowych

Ilustracja 7. Wynik działania testu z danymi wniosku

Błędy w trakcie testów

Jeśli skrypt zawiera błędy, test zakończy się niepowodzeniem, a błąd zalogowany zostanie w konsoli pod edytorem. W komunikacie zawarty będzie powód i miejsce wystąpienia błędu.

Ilustracja 8. Błąd po uruchomieniu testu

Sposoby weryfikacji wyjścia

Serwisy skryptowe

Wyjście serwisów skryptowych możemy weryfikować na kilka sposobów. Dzielą się one na porównanie liczb oraz porównanie tekstów:

Porównanie liczb

Weryfikacja
Opis

>

Większy

>=

Większy lub równy

<

Mniejszy

<=

Mniejszy lub równy

==

Liczby są równe

Liczby są nierówne

Wybierając jeden z powyższych operatorów porównania należy mieć na uwadze, że wyjścia skryptu oraz wpisane do porównania wartości są konwertowane do liczb. W przypadku błędu konwersji którejkolwiek wartości, test zakończy się wynikiem negatywnym.

Przykładowo dla danych: wyjście z usługi: 6.0, wartość do porównania: 6, porównanie: ==, wynik jest poprawny. Wartość 6.0 zwrócona ze skryptu jest równa wartości 6 wpisanej w polu oczekiwanym.

Ilustracja 9. Parametry wejściowe testu

Ilustracja 10. Parametry weryfikacji wyniku testu

Ilustracja 11. Porównanie liczb za pomocą operatora == zakończone wynikiem pozytywnym

Porównanie tekstów

Weryfikacja
Opis

EQ

Stringi są równe

NOT_EQ

Stringi są nierówne

~

Spełnia wyrażenie regularne

!∅

Niepusty

Dane porównywane są jako tekst. Liczby również traktowane są jako tekst.

Przykładowo dla danych: wyjście z usługi: 6.0, wartość do porównania: 6, porównanie: EQ, wynik jest niepoprawny. Wartość tekstowa 6.0 zwrócona ze skryptu, nie jest równa wartości tekstowej 6 wpisanej w polu oczekiwanym.

Ilustracja 12. Porównanie liczb za pomocą operatora EQ zakończone wynikiem negatywny,

Walidatory skryptowe

Wyjście walidatorów skryptowych weryfikujemy poprzez wybór kluczy komunikatów jakie zostaną zwrócone w danym przypadku testowym.

Np. walidator skryptowy zwraca dwa klucze błędów z ich parametrami:

  • pl.error1

  • pl.error2

Aby test zakończył się poprawnym wykonaniem asercji, na liście powinny znaleźć się oba klucze błędów.

Jeżeli dodamy nadmiarowe klucze lub zabraknie jednego z kluczy błędów, test zakończy się niepowodzeniem.

Ilustracja 13. Test walidatorów skryptowych z wynikiem pozytywnym

Ilustracja 14. Test walidatorów skryptowych z wynikiem negatywnym

Last updated

Was this helpful?