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.
W swoim wystąpieniu TDD, gdzie wszystko poszło nie tak , Ian Cooper popiera pierwotną intencję Kenta Becka za testowaniem jednostkowym w TDD (testowanie zachowań, a nie metod klas) i argumentuje za unikaniem łączenia testów z implementacją. W przypadku zachowania takiego jak save X to some data sourcew systemie z typowym …
Jestem dość nowy w TDD i mam problemy z tworzeniem pierwszego testu, który pojawia się przed jakimkolwiek kodem implementacyjnym. Bez żadnych ram do kodu implementacyjnego mogę napisać mój pierwszy test, jakkolwiek chcę, ale zawsze wydaje się, że jest on skażony moim sposobem myślenia o problemie w Javie / OO. Na …
Mam ponad 2-letnie doświadczenie w tworzeniu aplikacji. W ciągu tych dwóch lat moje podejście do rozwoju było następujące Analizuj wymagania Tożsamość Główny komponent / Obiekty, Wymagane funkcje, Zachowanie, Proces i ich ograniczenia Twórz klasy, relacje między nimi, ograniczenia dotyczące zachowania i stanów obiektów Twórz funkcje, przetwarzaj z ograniczeniami behawioralnymi zgodnie …
Refaktoryzuję ogromną klasę kodu starszego typu. Refaktoryzacja (jak sądzę) zaleca: pisz testy dla starszych klas refaktorem do cholery z klasy Problem: po ponownym złożeniu klasy moje testy w kroku 1 będą musiały zostać zmienione. Na przykład to, co kiedyś było starszą metodą, teraz może być osobną klasą. To, co było …
Chciałbym wiedzieć, jaki jest ogólny wpływ planowania zasobów na projekt oprogramowania, gdzie wymagania i projekt projektu są napędzane przez automatyczne testy akceptacyjne i testy jednostkowe, w przeciwieństwie do bardziej „tradycyjnego” podejścia do tworzenia oprogramowania. Jaki, z twojego doświadczenia, jest ogólny wpływ na wymagania dotyczące zasobów do ukończenia projektu oprogramowania w …
Chciałem zapytać was ludzi, w których przypadkach sensowne jest testowanie jednostkowe statycznie wpisanego kodu funkcjonalnego, napisanego w haskell, scala, ocaml, nemerle, f # lub haXe (ostatnie jest tym, czym naprawdę jestem zainteresowany, ale chciałem skorzystać z wiedzy większych społeczności). Proszę o to, ponieważ z mojego zrozumienia: Jednym z aspektów testów …
Code Retreat to całodzienne szkolenie, które koncentruje się na podstawach rozwoju oprogramowania. Zbliża się „globalny” dzień wycofania kodu i nie mogę się doczekać. To powiedziawszy, byłem już w jednym z nich i muszę powiedzieć, że był ogromny chaos ... co jest w porządku. Jedną z rzeczy, których wciąż nie rozumiem, …
Podczas tworzenia systemu takiego jak sztuczna inteligencja, który może bardzo szybko podążać wieloma różnymi ścieżkami lub w rzeczywistości dowolnym algorytmem, który ma kilka różnych danych wejściowych, możliwy zestaw wyników może zawierać dużą liczbę permutacji. Jakie podejście należy zastosować do korzystania z TDD podczas tworzenia systemu, który generuje wiele, wiele różnych …
Niedawno przeczytałem artykuł, w którym napisano, że fałszywe obiekty są często źle rozumiane i niewłaściwie wykorzystywane. Czy są jakieś szydercze anty-wzory, na które mogę uważać?
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
TDD polega na projektowaniu kodu kierowanego testami. Zatem typowe warstwy zwykle nie są budowane z góry; powinny nieznacznie pojawić się w ramach operacji refaktoryzacji. Projektowanie oparte na domenie obejmuje wiele wzorców technicznych, definiujących dobrze ugruntowane warstwy, takie jak warstwa aplikacji, warstwa infrastruktury, warstwa domeny, warstwa trwałości. Jak zacząć kodowanie projektu …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Jestem jedyną osobą w moim zespole, która korzysta z TDD. Jak zmusić ich …
Dużo słyszę od praktyków TDD , że jedną z zalet TDD jest to, że zmusza programistów do przestrzegania zasad SOLID (pojedyncza odpowiedzialność, otwarte zamknięcie, podstawienie Liskowa, segregacja interfejsu i inwersja zależności). Ale jak dla mnie wystarczy napisać kilka testów (przede wszystkim test jednostkowy), aby zrozumieć, że ważne jest, aby postępować …
Czasami natrafiam na sytuację, w której naprawienie błędu wymaga usunięcia części kodu. Zakłada się, że purysta TDD zaleciłby napisanie testu zakończonego niepowodzeniem, usunięcie kodu, a następnie obejrzenie testu. Teraz naprawdę dziwnie jest mieć test potwierdzający usunięcie części kodu. Pewnie, przypuszczam, że zapewniłoby to, że nikt nie wkopałby się w kontrolę …
W przypadku ciągłej integracji wykonującej testy przy każdym zatwierdzeniu powszechną najlepszą praktyką jest przechodzenie wszystkich testów przez cały czas (aka „nie przerywaj kompilacji”). Mam z tym pewne problemy: Na przykład nie można pomóc projektowi typu open source, tworząc testy odpowiadające biletom. Wiem, że jeśli zgłoszę żądanie ściągnięcia do projektu typu …
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.