TDD oznacza Test-Driven Development lub Test-Driven Design. Jest to praktyka pisania testu jednostkowego przed napisaniem kodu, aby go spełnić, w tak zwanym cyklu Refaktora Czerwono-Zielonego.
Wydaje mi się rozsądne, że jeśli poważny błąd zostanie wykryty przez użytkowników końcowych, należy dodać test jednostkowy, który go nie obejmuje, celowo przerywając kompilację, dopóki błąd nie zostanie naprawiony. Moim uzasadnieniem jest to, że kompilacja powinna była zawieść przez cały czas , ale nie było to spowodowane nieodpowiednim automatycznym zasięgiem …
W mojej firmie kilkakrotnie próbowaliśmy wprowadzić automatyczne testy programistyczne. Nasz zespół kontroli jakości używa Selenium do automatyzacji testów interfejsu użytkownika, ale zawsze chciałem wprowadzić testy jednostkowe i testy integracyjne. W przeszłości za każdym razem, gdy próbowaliśmy, wszyscy byli podekscytowani przez pierwszy miesiąc lub dwa. Po kilku miesiącach ludzie po prostu …
Wszystkie przykłady, które przeczytałem i widziałem na szkoleniowych filmach, mają uproszczone przykłady. Ale czego nie widzę, jak zrobię „prawdziwy” kod po tym, jak zrobię się zielony. Czy to jest część „Refaktoryzacja”? Jeśli mam dość skomplikowany obiekt za pomocą złożonej metody i piszę mój test i absolutne minimum, aby go przekazać …
Zadanie polegało mi na napisaniu testów jednostkowych dla istniejącej aplikacji. Po zakończeniu pierwszego pliku mam 717 linii kodu testowego na 419 linii oryginalnego kodu. Czy ten współczynnik stanie się niemożliwy do zarządzania, gdy zwiększymy zasięg naszego kodu? Moje rozumienie testów jednostkowych polegało na przetestowaniu każdej metody w klasie, aby upewnić …
Pracuję w małej firmie jako programista solo. W rzeczywistości jestem jedynym programistą w firmie. Mam kilka (stosunkowo) dużych projektów, które regularnie napisałem i prowadzę, i żaden z nich nie ma testów na ich wsparcie. Kiedy rozpoczynam nowe projekty, często zastanawiam się, czy powinienem spróbować podejścia TDD. Brzmi jak dobry pomysł, …
W moim obecnym projekcie (gra w C ++) zdecydowałem, że będę używać 100% Test Driven Development podczas programowania. Pod względem jakości kodu było to świetne. Mój kod nigdy nie był tak dobrze zaprojektowany ani wolny od błędów. Nie wzdrygam się podczas przeglądania kodu, który napisałem rok temu na początku projektu, …
Często pracuję z programami numerycznymi / matematycznymi, w których dokładny wynik funkcji jest trudny do przewidzenia z góry. Próbując zastosować TDD z tego rodzaju kodem, często uważam, że pisanie testowanego kodu jest znacznie łatwiejsze niż pisanie testów jednostkowych dla tego kodu, ponieważ jedynym sposobem na znalezienie oczekiwanego wyniku jest zastosowanie …
Wspólnie z moimi przyjaciółmi staramy się dokładnie sklasyfikować, co jest testem integracyjnym. Teraz, wracając do domu, właśnie zdałem sobie sprawę, że za każdym razem, gdy próbuję podać prawdziwy przykład testu integracyjnego w świecie rzeczywistym, okazuje się, że jest to test akceptacyjny, tj. coś, co przedsiębiorca powiedziałby na głos, określające, co …
Dzisiaj odbyłem ciekawą dyskusję z kolegą. Jestem programistą obronnym. Uważam, że zawsze należy przestrzegać zasady „ klasa musi mieć pewność, że jej obiekty mają prawidłowy stan podczas interakcji z nią spoza klasy ”. Powodem tej reguły jest to, że klasa nie wie, kim są jej użytkownicy, i że w przewidywalny …
Staram się przyzwyczaić do regularnego pisania testów jednostkowych za pomocą mojego kodu, ale najpierw przeczytałem, że ważne jest, aby napisać testowalny kod . To pytanie dotyczy SOLIDNYCH zasad pisania kodu testowalnego, ale chcę wiedzieć, czy te zasady projektowania są korzystne (a przynajmniej nie szkodliwe), nie planując w ogóle pisania testów. …
Właśnie uczę się TDD. Rozumiem, że prywatne metody są nie do przetestowania i nie powinny się martwić, ponieważ publiczny interfejs API dostarczy wystarczających informacji do weryfikacji integralności obiektu. Przez jakiś czas rozumiałem OOP. Rozumiem, że prywatne metody sprawiają, że obiekty są bardziej enkapsulowane, a przez to bardziej odporne na zmiany …
Jaka jest negatywna strona twojego doświadczenia TDD? Czy uważasz, że kroki dziecka (najprostszy sposób na zielony test) są denerwujące i bezużyteczne? Czy uważasz, że testy bez wartości (gdy test ma sens na początku, ale w końcowej implementacji sprawdza tę samą logikę co inne testy) utrzymanie krytyczne? itp. Powyższe pytania dotyczą …
Rozwój oparty na testach (TDD) jest obecnie duży. Często widzę, że jest to zalecane rozwiązanie dla szerokiej gamy problemów tutaj w Programmers SE i innych miejscach. Zastanawiam się, dlaczego to działa. Z technicznego punktu widzenia zastanawia mnie to z dwóch powodów: Podejście „test pisemny + refaktor do zaliczenia” wygląda niesamowicie …
o ile rozumiem, większość ludzi zgadza się, że prywatne metody nie powinny być testowane bezpośrednio, ale raczej za pomocą jakichkolwiek publicznych metod, które je nazywają. Rozumiem ich punkt widzenia, ale mam z tym pewne problemy, gdy próbuję postępować zgodnie z „Trzema prawami TDD” i stosować cykl „Czerwony - zielony - …
Słyszałem o stylu londyńskim vs. stylu chicagowskim (czasem nazywanym stylem Detroit) Test Driven Development (TDD). Warsztaty grupy użytkowników programowania w Utah Extreme: TDD w stylu interakcji jest również nazywane mockistowskim lub londyńskim stylem po londyńskim klubie Extreme Tuesday, gdzie stał się popularny. Zwykle kontrastuje z TDD w stylu Detroit lub …
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.