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.
Korzystam z programu Visual Studio 2012, a on ma przypadki, w których dodaliśmy parametry szablonów do klasy „tylko” w celu wprowadzenia „punktu szwu”, aby w teście jednostkowym mogliśmy zastąpić te części próbnymi obiektami. Jak zwykle wprowadzasz punkty szwu w C ++: używając interfejsów i / lub mieszając na podstawie niektórych …
Robię testy jednostkowe i na jednej z moich klas muszę wysłać wiadomość e-mail z jednej z metod, więc za pomocą wstrzykiwania konstruktora wstrzykuję instancję Zend_Mailklasy, która jest w środowisku Zend. Teraz niektórzy twierdzą, że jeśli biblioteka jest wystarczająco stabilna i nie zmienia się często, nie trzeba jej owijać. Zakładając, że …
Odziedziczyłem mały projekt i chcę go jednocześnie rozszerzyć i ustabilizować, pisząc Testy jednostkowe dla całego dodawanego przeze mnie kodu. Pierwsza klasa, TypedAudioCreatortworzy pliki audio i okazało się, że bardzo łatwo było najpierw przetestować i napisać kod na drugie. Kiedy jednak przyszedł czas na pisanie TypedAudioPlayer, nie miałem pojęcia, jak to …
Eksperymentuję z programowaniem opartym na testach i odkryłem, że często dochodzę do następującej sytuacji: Piszę testy dla niektórych funkcji X. Testy te kończą się niepowodzeniem. Próbując zaimplementować X, widzę, że muszę zaimplementować jakąś funkcję Y w dolnej warstwie mojego kodu. Więc... Piszę testy dla Y. Teraz oba testy dla X …
Jestem przy projekcie TDD, więc staram się jak najlepiej trzymać dobrych praktyk związanych z tego rodzaju rozwojem. Jednym z nich jest unikanie w jak największym stopniu statycznego i globalnego. Mam do czynienia z tym problemem: mam obiekt „artykuł”, który może mieć powiązane z nim „opcje” (dodatkowe „mikro-artykuły”). Nie mogę wymyślić, …
Pracuję w dużej firmie, ale w dwuosobowym zespole opracowującym aplikacje LOB na komputery. Od dłuższego czasu badam TDD i chociaż łatwo jest dostrzec jego zalety w przypadku większych aplikacji, trudno mi jest usprawiedliwić czas rozpoczęcia korzystania z TDD na skalę naszych aplikacji. Rozumiem jego zalety w automatyzacji testów, poprawie łatwości …
Co robisz, gdy piszesz test i dochodzisz do punktu, w którym musisz zdać test, i zdajesz sobie sprawę, że potrzebujesz dodatkowej funkcjonalności, która powinna być podzielona na własną funkcję? Ta nowa funkcja również musi zostać przetestowana, ale cykl TDD mówi: „Nie udać się testem, sprawić, by przeszedł, a następnie refaktoryzować”. …
Projekty ETL to projekty tworzone za pomocą narzędzia ETL (Extract - Transform - Load), takiego jak SSIS, PowerCenter itp. Zazwyczaj obejmują one odczytywanie danych ze źródła zewnętrznego, ładowanie ich do tymczasowej bazy danych, wykonywanie pewnych transformacji i ładowanie do ostatecznej bazy danych Prostym przykładem byłoby użycie SSIS do odczytu plików …
To może być dość głupie pytanie, ponieważ jestem przy pierwszych próbach TDD. Uwielbiałem poczucie pewności i ogólnie lepszą strukturę mojego kodu, ale kiedy zacząłem stosować go na czymś większym niż przykłady klasowych zabawek, napotkałem trudności. Załóżmy, że piszesz bibliotekę. Wiesz, co musi zrobić, znasz ogólny sposób jego implementacji (pod względem …
Zaczynam nowy projekt i bardzo bardzo staram się używać TDD do kierowania projektem. Naciskam od lat i wreszcie uzyskałem zgodę na poświęcenie dodatkowego czasu na ten projekt, aby go wykorzystać, podczas gdy uczę się, jak robić to poprawnie. To jest nowy moduł do połączenia z istniejącym systemem. Obecnie dostęp do …
Ostatnio TDD stosowałem metodę fabryczną. Metoda polegała na utworzeniu zwykłego obiektu lub obiektu owiniętego dekoratorem. Udekorowany obiekt może być jednego z kilku typów rozszerzających StrategyClass. W moim teście chciałem sprawdzić, czy klasa zwracanego obiektu jest zgodna z oczekiwaniami. To proste, gdy powróci zwykły obiekt, ale co zrobić, gdy jest zawinięty …
Muszę pracować w zespole, aby opracować aplikację komputerową klasy średniej opracowaną przy użyciu C # .NET. Wcześniej nie stosowałem testów jednostkowych i rozwoju opartego na testach. Wiem, że istnieje wiele narzędzi i ram dla aplikacji C # do testowania jednostkowego. Obecnie wiem o Nunit i narzędziu do testowania jednostek zintegrowanym …
Początkowo pisanie testu jest obowiązkiem programisty, ale zauważyłem, że w wielu przypadkach / programiści e-dojrzali przypadki te nie zapewniają nawet 80% zasięgu. Co powiesz na to, że mam osobę odpowiedzialną za kontrolę jakości, która pisze WSZYSTKIE testy dla danego projektu zamiast programisty? Czy są jakieś wady?
Dlaczego pisząc testy, dlaczego ktoś chciałby korzystać z bazy danych w pamięci, a nie tylko wyśmiewać dane? Widziałem, że bazy danych w pamięci mogą być przydatne do testowania własnych repozytoriów. Ale jeśli używasz frameworka (takiego jak Spring Data), testowanie repozytoriów byłoby testowaniem frameworku, a nie logiki aplikacji. Wyśmiewanie wydaje się …
Powiedzmy, że chciałem rozpocząć projekt open source, który mam nadzieję / oczekuję, że wiele osób prześle łaty i tak dalej. Czy opłaca się stosować ścisłe podejście TDD? Czy mogę / powinienem oczekiwać / zaufać współpracownikom, że będą pisać testy jakości za każdym razem, gdy przesyłają łatkę? Jedną z rzeczy, o …
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.