Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%)
|
Witam serdecznie,
Uczę się pisania testów w Laravelu. Jako że nie wiem jak powinny wyglądać "profesjonalnie" - to chciałem dopytać czy to, co robię ma sens (IMG:style_emoticons/default/smile.gif) 1. Test 1 - test sprawdzający czy strona działa poprawnie
2. Test 2 - test logowania z dobrym i błędnym hasłem
3. Test 3 - test modułu reklam. Dodawanie nowej reklamy, sprawdzanie czy istnieje, pobieranie listy reklam, sprawdzanie czy walidacja pól działa, kasowanie
Czy takie testy są poprawne? Czy raczej powinny wyglądać inaczej?(IMG:style_emoticons/default/smile.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%)
|
Z tego co zaobserwowałem, to w firmach rzadko kiedy piszę się testy (IMG:style_emoticons/default/wink.gif)
Unit: testy które testują daną klasę - tylko klasę, dajesz input do metody i sprawdzasz czy wynik jest spełnia Twoje oczekiwania, nie interesuje Cie za bardzo reszta. Feature: to testy które testują żądania do strony i oczekiwany response, czyli wysyłasz formularz, odbierasz błąd walidacji lub zwrócone dane. Następnie sprawdzasz czy zwrócone dane są zgodne z oczekiwaniami, sprawdzasz również status HTTP (w przypadku REST API - bardzo ważne) i inne rzeczy (z czasem sam ogarniesz, co testować a czego nie). Co jest bardzo przydatne moim zdaniem, to code coverage - puszczasz testy na całość, i pokazuje Ci miejsca których nie masz przetestowanych. Czyli żaden kod podczas wykonywania testów nie wszedł do danej instrukcji - czyli przewidziałeś pewną sytuację, ale nie przetestowałeś jej. Tak to wygląda w IDE: (IMG:https://snipboard.io/PifhS9.jpg) Linijka 45 nie została przetestowana, 44 i 48 już tak. Warto sobie po testować całe klasy (unit) wraz z kontrolerami (feature). Niektórych czasem nie ma sensu, ale to od programisty zależy. I oczywiście nie testujesz obcych paczek, tylko swój kod który napisałeś. Pisanie testów, owocuje w przyszłości, gdy zmienisz drobną rzecz, może się okazać że resposne się zmienił - testami to wychwycisz. Bez wychwycenia zmiany response, front może się posypać - czego nikt by nie chciał. No i zmiany commitujesz dopiero jak wszystkie testy są wykonane z sukcesem. Tutaj warto sobie dodać również automatyczne wykonywanie testów po przesłaniu zmian na GIT, więc nawet jak zapomnisz puścić testów lokalnie, to gitlab czy inny, poinformuje Cię o tym. Cytat A jak taki test zapisać? smile.gif Ja bym zapisał to tak, ale co programista to inny sposób - ja staram się używać, tego co mi podpowiada IDE.
|
|
|
|
trifek [PHP]Testy w Laravel / php 5.04.2020, 15:26:33
Pyton_000 Takie testy są ok. Nazywają się testami Integracyj... 5.04.2020, 18:44:31
Rysh Tak jak napisał kolega powyżej, testy są OK - ale ... 5.04.2020, 20:04:57
trifek Cytat(Rysh @ 5.04.2020, 21:04:57 ) Ta... 6.04.2020, 19:31:47
markonix Tutaj parę ściąg, aby rozróżnić integracyjne od je... 8.04.2020, 17:42:45 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 19:36 |