Testy a tworzenie obiektu do testów

Testy a tworzenie obiektu do testów
AS
  • Rejestracja:ponad 4 lata
  • Ostatnio:13 dni
  • Postów:19
0

Powitać państwa ;)

Mam taki dylemat i zastanawiam się jak to rozwiązać w testach mam metody takie jak:

screenshot-20210104164310.png

gdzie używam tych metod w poszczególnych testach.
Tutaj jest i tak znośnie, a jak mam dość dużą encję bazodanową to pojawiają się większe szkarady. Jakieś pomysły na to ?

AK
Jak dla mnie, to one nic nie robią (co się może wy....)
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
AS
Z chęcią zobaczę, dzięki ;)
Shalom
Oczywiście to nie sprawia magicznie że tego kodu do tworzenia stanu aplikacji nie ma, bo on gdzieś być musi :D ale ukrywa go przed piszącym/czytającym testy za warstwą abstrakcji, tak żeby nie trzeba było wiedzieć jak pewne rzeczy są technicznie zrobione, gdzie baza danych, gdzie rest itd.
AS
Rozumiem, dzięki
Shalom
Statyczne importy są na asercje, no już bez żartów. Nie płacą mi od linijki kodu żebym miał je sztucznie wydłużać :P Jeśli chodzi o drugi komentarz to nie bardzo rozumiem co masz na myśli. given to jest dla mnie początkowy stan systemu i nie bardzo rozumiem co chcesz tam weryfikować (i jak chcesz to niby weryfikować). I czemu miałbym cokolwiek sprawdzać w when? o_O Dla mnie given to jest ustalenie stanu początkowego przed testem, when to jest właściwa logika testu a then to weryfikacja stanu po teście.
Shalom
Jakiekolwiek asercje w given robie tylko jeśli do ustawienia stanu używam funkcji systemu (np. system ma funkcje addUser i używam jej do utworzenia usera w systemie), ale jeśli moje given ustawia jakiegoś wiremocka to nie bardzo ma sens jakaś weryfikacja bo nie będę sprawdzać czy wiremock działa, zakładam że autorzy go przetestowali ;)
Charles_Ray
Usunąłem komentarz po wczytaniu się w kod. Giveny są ok, często ludzie ustawiają jakieś rzeczy, które tylko zaciemniają test, ale tutaj jest czytelnie. Odnośnie staticów, to zamiast TestUser.builder() wole user(). Aha, no i miałem na myśli then a nie when :)
Shalom
zamiast TestUser.builder() wole user() a ja nie, bo potem patrze w kod i widze że potrzebny mi obiekt TestUser a cholera wie skąd go wziąć i jak nazywa się magiczna metoda która mi go zwróci. Wolę móc napisać TestUser. i niech mi IDE podpowie.
Charles_Ray
Jak to skąd? Z TestUser :) co kto lubi

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.