Aktywne Wpisy

zloty_wkret +180

GrzegorzPpoz +67
#!$%@? rzygam już tym portalem. Od kilku tygodni całe gorące permanentnie #!$%@? waleniem konia do rozliczeń pisowców albo podniecaniem się najpierw chadem kotłownią, a teraz tuskiem. To już nie jest portal ze śmiesznymi obrazkami tylko czysty propagandowy ściek. Dosłownie nie ma się nawet do czego uśmiechnąć na tej smutnej jak #!$%@? stronie. Serio wam się jeszcze nie przejadło czytanie kolejnego wpisu zaczynającego się od "gdyby nie tusk to błe błe błe węgry




Robię apkę, zwykłe CRUD restowe, zwykłe controler, serwis i repoztytorium. Generalnie logiki mało, ale dużo wyciągania z różnych baz danych i jakoś mapowania, łączenia i tak dalej. Generalnie mało miejsca na testy jednostkowe logiki - bo logiki jako takiej praktycznie tam nie ma (tylko mapowanie danych z bazy, dociąganie z innej).
Kiedyś robiłem testy, że wysyłałem jakieś geta czy posta i sprawdzałem czy json w odpowiedzi jest tym czego potrzebuję. A za bazę danych robiło mi h2 czy inna pamięciowa, a model był generowany przez hibernate. Okazało się, że ma to wady jak zaczęły być zapytania specyficzne dla konkretnej bazy, jakieś triggery czy coś.
Później doszły też bazy danych, których tak łatwo nie da się zastąpić h2 typu elastic.
Zacząłem więc używać mocków, ale jak to na jeden z konferencji zostało powiedziane - wyszła mocksturbacja. Wszędzie mocki, wszystko pomockowane, testy przechodzą, ale nie działa bo coś się zmieniło, ale mocki się nie zmieniły.
Wpadłem więc na pomysł, żeby użyć testcontainers.org i postawić sobie te wszystkie bazy, załadować schemę za pomocą flywaya czy czegoś podobnego, w zależności od bazy. Niby działa, ale testy trwają z rok, środowisko CI wiecznie zamulone pobieraniem dockerów ciągle i ciągle tych samych (bo CI to docker, który uruchamia testy i docker in docker pobiera dockery z testcontenera, co push na dowolny brancz)
Jak żyć, co robić?
Swoją drogą rozwiazanie z dockerem wydaje sie być spoko. Może zastanów się ,żeby CI nie triggerowała testow co push, a np. raz dzienie overnight. Ile macie pushy dziennie na
@kukoc18: Jak puszczałeś testy w wielu wątkach? Musisz mieć wtedy wiele baz danych albo jakoś transakcje dobre (przy nietransakcyjnych bazach tak się nie da) bo jak jeden test modyfikuje dane to drugi nie może ich odczytać