Prowadzę debatę z kolegą programistą na temat tego, czy dobrą lub złą praktyką jest modyfikowanie działającego kodu tylko w celu umożliwienia jego przetestowania (na przykład poprzez testy jednostkowe). Moim zdaniem jest w porządku, oczywiście w granicach utrzymywania dobrych praktyk obiektowych i inżynierii oprogramowania (nie „upubliczniania wszystkiego” itp.). Zdaniem mojego kolegi …
Zwykle staram się postępować zgodnie z zaleceniami zawartymi w książce Skutecznie współpracując z Legacy Cod e . Przełamuję zależności, przenoszę części kodu do @VisibleForTesting public staticmetod i nowych klas, aby kod (lub przynajmniej jego część) był testowalny. Piszę testy, aby upewnić się, że niczego nie popsuję podczas modyfikowania lub dodawania …
Załóżmy, że jeden miał stosunkowo duży program (powiedzmy 900k SLOC w C #), wszystkie skomentowane / udokumentowane dokładnie, dobrze zorganizowane i działające dobrze. Cała baza kodu została napisana przez jednego starszego programistę, który nie współpracuje już z firmą. Cały kod jest testowalny w obecnej postaci, a IoC jest używany przez …
Po przeczytaniu opisów rozumiem, że w testach TDD są wykonywane przed napisaniem funkcji, aw testach jednostkowych - po jej zakończeniu. Czy to główna różnica, czy te dwa terminy nie mogą nawet zostać porównane jako takie. Być może testy jednostkowe są zintegrowaną częścią TDD.
Krótkie wprowadzenie do tego pytania. Używam teraz TDD, a ostatnio BDD od ponad roku. Używam technik takich jak kpina, aby bardziej efektywnie pisać testy. Ostatnio rozpocząłem osobisty projekt, aby napisać dla siebie mały program do zarządzania pieniędzmi. Ponieważ nie miałem wcześniejszego kodu, był to idealny projekt na początek z TDD. …
Wywołany tym wątkiem (ponownie) myślę o tym, by w końcu zastosować testy jednostkowe w moich projektach. Kilka plakatów mówi coś w stylu „Testy są fajne, jeśli są dobre testy”. Moje pytanie teraz: co to są „dobre” testy? W moich aplikacjach główną częścią często jest pewnego rodzaju analiza numeryczna, w zależności …
Więc dzisiaj rozmawiałem z kolegą z zespołu na temat testów jednostkowych. Wszystko zaczęło się, gdy zapytał mnie „hej, gdzie są testy dla tej klasy, widzę tylko jeden?”. Cała klasa była menedżerem (lub usługą, jeśli wolisz tak ją nazywać) i prawie wszystkie metody po prostu delegowały rzeczy do DAO, więc było …
Zadanie polegało na zwiększeniu zasięgu kodu istniejącego projektu Java. Zauważyłem, że narzędzie do pokrycia kodu ( EclEmma ) wyróżniło niektóre metody, które nigdy nie są wywoływane z dowolnego miejsca. Moja początkowa reakcja nie polega na pisaniu testów jednostkowych dla tych metod, ale na ich podkreśleniu mojemu przełożonemu / zespołowi i …
W moich testach jednostkowych często rzucam dowolne wartości na mój kod, aby zobaczyć, co on robi. Na przykład, jeśli wiem, że foo(1, 2, 3)ma to zwrócić 17, mógłbym napisać: assertEqual(foo(1, 2, 3), 17) Liczby te są czysto arbitralne i nie mają szerszego znaczenia (nie są na przykład warunkami brzegowymi, chociaż …
Kiedy wykonuję testy jednostkowe w „właściwy” sposób, tj. Przerywając każde publiczne połączenie i zwracając ustawione wartości lub kpiny, mam wrażenie, że tak naprawdę niczego nie testuję. Dosłownie patrzę na mój kod i tworzę przykłady oparte na logice za pomocą moich publicznych metod. I za każdym razem, gdy zmienia się implementacja, …
Przeczytałem kilka odpowiedzi na pytania o podobnej treści, na przykład „Jak utrzymać testy jednostkowe podczas refaktoryzacji?”. W moim przypadku scenariusz jest nieco inny, ponieważ otrzymałem projekt do przeglądu i dostosowania go do niektórych standardów, które obecnie posiadamy, obecnie nie ma żadnych testów dla tego projektu! Zidentyfikowałem szereg rzeczy, które moim …
Czy stosowanie wstrzykiwania zależności (DI) jest niezbędne do testowania jednostkowego? Nie mogę wymyślić innej alternatywy dla izolowania kodu, aby można go było przetestować. Ponadto wszystkie przykłady, które widziałem, wykorzystują ten wzór. Czy to dlatego, że jest to jedyna realna opcja, czy istnieją inne alternatywy?
Większość projektów, nad którymi pracuję, rozważa rozwój i testy jednostkowe w oderwaniu, co sprawia, że pisanie testów jednostkowych w późniejszym przypadku jest koszmarem. Moim celem jest pamiętanie o testach podczas samych faz projektowania wysokiego i niskiego poziomu. Chcę wiedzieć, czy istnieją dobrze zdefiniowane zasady projektowania, które promują testowalny kod. Jedną …
Cykl Czerwonego - Zielonego - Refaktora dla TDD jest dobrze ustalony i zaakceptowany. Piszemy jeden nieudany test jednostkowy i sprawiamy, że przechodzi on tak prosto, jak to możliwe. Jakie są korzyści z tego podejścia w porównaniu z pisaniem wielu nieudanych testów jednostkowych dla klasy i sprawianiem, że wszystkie przejdą za …
Jaka jest różnica między budowaniem aplikacji Outside In a budowaniem aplikacji Inside Out za pomocą TDD? Oto książki, które czytałem o TDD i testowaniu jednostkowym: Rozwój oparty na testach: Przez przykład Rozwój oparty na testach: Praktyczny przewodnik: Praktyczny przewodnik Realne rozwiązania dla rozwoju wysokiej jakości ram i aplikacji PHP Rozwój …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.