Aktywne Wpisy
Menel94 +50
Do tych co piszą komentarze typu: "ale trzeba być frajerem by zapłacić za dostęp do gali itp.". Jeżeli dla was wydanie raz na jakiś czas 40 zł na rozrywkę to jakiś wielki problem, to może zastanówcie się nad swoim życiem i pomyślcie co zrobić by zarobić trochę godniej. Zrozumcie że dla większości ludzi to są jakieś śmieszne, nic nie znaczące pieniądze, bilet do teatru potrafi teraz kosztować lekko ponad 100 zł.
#
#

lubie-sernik +6
Co robisz, czemu nie śpisz? O której jutro Wstajesz?
Tylko poważne oferty
Tylko poważne oferty





pomoże ktoś? Nie za bardzo wiem jak powinny te testy wyglądać i jak zrobić żeby działało no i ogólnie czy tak można zrobić
Tutaj obrazki (schemat i jak wyglada zwracany obiekt user): https://imgur.com/a/G4I1FMm
No a tutaj aktualny kod testu: https://paste.ofcode.org/cnip8SKDZpdngyyVTMpCBs
pomyślałem że w sumie to każdą moją klasę mogę sprawdzić własnie takimi mockowymi obiektami (że np wywołuję UserController.addUser(json) z moim jsonem, wiem co powinno wyjść więc mockUserService zwracałby tego usera że niby zapisał i pobrał z bazy danych a w tescie samym sprawdzalbym czy faktycznie to samo wyszlo), ale strasznie duzo kodu musiałbym napisać (do każdej metody w każdej klasie, plus jeszcze weź to pozmieniaj np przy dodawaniu nowego pola w encji) i mam wątpliwości, że przecież muszą być lepsze rozwiązania ¯\_(ツ)_/¯
w tym akurat przykladzie bym zmockowal ten serwis i zrobil ze kiedy odpalana jest metoda adduser z serwisu to zwroc cos.
Tak szczerze to sie pogubilem troche w tym xD
Jak jednostkowe, to nie powinny one dotykać springa, bo stawianie kontekstu kosztuje sporo. Wtedy korzystasz tylko z biblioteki do mocków i wstrzykujesz sobie do testowanej klasy mocki zależności zewnętrznych.
To o czym mówisz, czyli MockMvc i inne springowe rzeczy stosuje się w testach integracyjnych gdzie stawiasz cały kontekst (najczęściej z jakąś bazą/brokerem in memory/wiremockiem) i wtedy już testujesz całość na zasadzie,
w każdym teście pisałbym to given (tak, żeby testy były niezależne)
zostane chyba jednak przy pisaniu given w kazdym tescie zeby nie trzeba bylo scrollowac i szukac w tym bloku before
@Ostrzewtlumie: po polsku? na pewno nie, nawet po angielsku to nie wydaje mi sie, ogladalem troche ludzi co wyklady z live-codingiem robili, nie spotkalem sie z czyms takim
shouldReturnUserIfCorrectCredentials
shouldThrowException
shouldReturnAllWith..
No spoko, popatrz na coverage czy jest dobry i tyle
@Bruno_: Możesz postawić naj klasie
@RunWith(MockitoJUnitRunner.class), wtedy cała metoda z@Beforebędzie zbędna