• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Testowanie Loggera z książki Comandeera

Object Storage Arubacloud
0 głosów
503 wizyt
pytanie zadane 2 stycznia 2017 w JavaScript przez erx700 Gaduła (3,430 p.)

Zastanawiam się czy tworzenie osobnej grupy testów (describe) dla jednej funkcji nie jest grubą przesadą. Z tego co dotychczas czytałem grupa testów obejmują całą klasę. Logger nie zawiera żadnej logiki więc nie widzę w ogóle sensu testowania tego modułu.

Poza tym pisanie w każdym describe afterEach i beforeEach właściwie z tą samą instrukcją łamie regułę DRY :)

Link do loggera

komentarz 2 stycznia 2017 przez Bantu Nałogowiec (34,170 p.)
Im więcej testów tym lepiej, pewne info. W pracy nie raz pisze się testy, które nic ciekawego nie robią, a życie weryfikuje, że jednak często nawet takie bezsensowne testy są w stanie zaoszczędzić masę czasu i nerwów ;)

Także, według mnie, nie ma zbytecznych testów.
komentarz 2 stycznia 2017 przez maly Nałogowiec (37,190 p.)
A jakbyś chciał to załatwić, jakimś dziedziczeniem?
Pozatym DRY niema jakiegoś szczególnie wyższego priorytetu nad KISS, a same testy często służą jako przykład/dokumentacja użycia.
komentarz 2 stycznia 2017 przez erx700 Gaduła (3,430 p.)
Myślałem, żeby zastosować globalne After i BeforEach, albo ograniczyć się do jednego describe, ale jeśli Comandeer napisał inaczej to nie wiem czy byłoby to poprawne. Może Javascript (albo Mocha) jeszcze na tyle nie dojrzał aby pisać w nim poprawny kod bez powtórzeń.
komentarz 2 stycznia 2017 przez erx700 Gaduła (3,430 p.)
Rozumiem, że jak funkcja ma rysować czerwony prostokąt na ekranie to mam się podłączyć do serwera wyświetlania systemu i sprawdzić w teście czy odpowiednia funkcja się wywołuje ? O_O

1 odpowiedź

+2 głosów
odpowiedź 2 stycznia 2017 przez Comandeer Guru (601,450 p.)
wybrane 2 stycznia 2017 przez erx700
 
Najlepsza

Może Javascript (albo Mocha) jeszcze na tyle nie dojrzał aby pisać w nim poprawny kod bez powtórzeń.

A teraz mi pokaż powtórzenia w kodzie testów :)

Zauważ, że te instrukcje nie są takie same, ale operują na innych metodach obiektu console. Jasne, można sobie napisać instrukcję pomocniczą, ale wówczas po prostu przenosisz problem o warstwę abstrakcji wyżej. Można też wepchać wszystkie testy razem, ale wówczas mockujesz naraz więcej niż potrzebujesz. No i przede wszystkim: IMO byłoby to mniej czytelne.

Rozumiem, że jak funkcja ma rysować czerwony prostokąt na ekranie to mam się podłączyć do serwera wyświetlania systemu i sprawdzić w teście czy odpowiednia funkcja się wywołuje ? O_O

To zależy co testujesz. Jeśli testujesz, czy faktycznie się rysuje, to raczej innej możliwości nie ma ;) 

komentarz 4 stycznia 2017 przez erx700 Gaduła (3,430 p.)
W szczególności w zaawansowanym webappie istnieje dziesiątki funkcji, które nic nie robią, ale trzeba przetestować, bo przecież pojedyncze wywołanie funkcji może spowodować tak naprawdę podwójne wywołanie ;)
2
komentarz 4 stycznia 2017 przez Comandeer Guru (601,450 p.)

Uwierz mi – kiedyś takie podejście Cię ugryzie, zwłaszcza w webdevie.

Poza tym: funkcja, która nic nie robi, to martwy kod usuwany w czasie refaktoryzacji. Jeśli funkcja przeżyła, to znaczy, że jednak coś robi ;)

komentarz 4 stycznia 2017 przez erx700 Gaduła (3,430 p.)
Chociaż że kompletnie tych testów nie rozumiem, to wierze ci na słowo, że tak powinno być ;)
2
komentarz 4 stycznia 2017 przez Comandeer Guru (601,450 p.)
Czyli poległem jako dydaktyk :(

Ale dzięki za feedback – wiem, nad czym popracować bardziej w kursie JS!
komentarz 4 stycznia 2017 przez erx700 Gaduła (3,430 p.)
W sensie wierze, że takie błahe testy są znaczące, a nie że mnie takie podejście ugryzie.

Podobne pytania

0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 5 listopada 2018 w JavaScript przez molik Użytkownik (950 p.)
0 głosów
1 odpowiedź 750 wizyt
pytanie zadane 13 maja 2019 w Inne języki przez Slegnawierzchowcu Użytkownik (860 p.)
+3 głosów
1 odpowiedź 640 wizyt
pytanie zadane 21 lutego 2019 w PHP przez Ehlert Ekspert (212,670 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...