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.
Chociaż jestem profesjonalnym programistą, nigdy nie zostałem formalnie przeszkolony w zakresie inżynierii oprogramowania. Ponieważ często tu odwiedzam i SO, zauważyłem trend pisania testów jednostkowych, gdy tylko jest to możliwe, a ponieważ moje oprogramowanie staje się bardziej złożone i wyrafinowane, automatyczne testowanie uważam za dobry pomysł na pomoc w debugowaniu. Jednak …
Nauczyłem się robić Test Driven Development (TDD), Dependency Injection (DI) i Inversion of Control (IoC) jednocześnie. Kiedy piszę kod za pomocą TDD, zawsze używam DI w konstruktorach mojej klasy. Zastanawiam się, czy to z powodu tego, jak nauczyłem się robić TDD, czy jest to naturalny efekt uboczny TDD. Moje pytanie …
Jestem nowym programistą (uczę się tylko od około roku), a moim celem, aby być w tym lepszym, niedawno dowiedziałem się o TDD. Chciałem przyzwyczaić się do używania go, ponieważ wydaje się to bardzo pomocne. Chciałem to sprawdzić i upewnić się, że używam go poprawnie. Co ja robię: Pomyśl o nowej …
Piszę testy jednostkowe systemu sterowania dla gry wideo. System ma kilka zachowań (unikaj tego obszaru z powodu przyczyny A, unikaj tego obszaru z powodu przyczyny B, każde z nich dodaje trochę kontekstu do mapy regionu. Oddzielna funkcja następnie analizuje mapę i wykonuje pożądany ruch. Mam problem z podjęciem decyzji, jak …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 6 lat temu . W mojej firmie staram się uzasadnić, dlaczego powinniśmy robić TDD. Obecnie większość programistów robi wszystko, co w ich mocy, …
Czytałem wiele rzeczy o TDD, ale wciąż mam wątpliwości. Na przykład mam te diagramy klas: To prosty przykład, aby dowiedzieć się więcej o TDD i próbnych obiektach. Który test powinienem napisać jako pierwszy? Produkt , następnie linia i ostatni, zamówić ? Jeśli to zrobię, czy powinienem używać Linii i Produktu …
Lubię „czerwony / zielony / refaktor” dla RoR itp. W porządku. Moja codzienna praca polega na przetwarzaniu wsadowym bardzo dużych plików stron trzecich w Pythonie i innych niestandardowych narzędziach. Rezygnacja z atrybutów tych plików jest wysoka, więc często stosuje się wiele poprawek / ulepszeń. Testowanie regresyjne za pomocą znanego zbioru …
Dobrze przetestowana baza kodowa ma wiele zalet, ale testowanie niektórych aspektów systemu daje bazę kodową odporną na niektóre rodzaje zmian. Przykładem jest testowanie określonych wyników - np. Tekstu lub HTML. Testy są często (naiwnie?) Pisane, aby oczekiwać określonego bloku tekstu jako danych wyjściowych dla niektórych parametrów wejściowych lub aby wyszukać …
Pracuję nad przetwarzaniem obrazu (głównie OCR) i zastanawiam się, jak powinienem zintegrować testy jednostkowe w moim rozwoju. Już używam testów jednostkowych dla bardziej „powszechnego” typu kodu, ale w przypadku kodu przetwarzania obrazu nie jestem pewien, jak sobie z tym poradzić. Ten rodzaj kodu zawsze wymaga wejścia / wyjścia danych obrazu, …
Oto jeden przykład: Moja aplikacja internetowa zawiera elementy do przeciągania. Podczas przeciągania elementu przeglądarka tworzy „obraz widma”. Chcę usunąć „obraz ducha” podczas przeciągania i piszę test tego zachowania. Mój problem polega na tym, że początkowo nie mam pojęcia, jak naprawić ten błąd, a jedynym sposobem na napisanie testu jest jego …
Nie jestem pewien, w jaki sposób TDD, metodologia, obsługuje następujący przypadek. Załóżmy, że chcę zaimplementować algorytm scalania w Pythonie. Zaczynam od pisania assert mergesort([]) === [] a test kończy się niepowodzeniem Nazwa Błąd: nazwa „scalanie” nie jest zdefiniowana Następnie dodaję def mergesort(a): return [] i mój test mija. Następnie dodaję …
Odziedziczyłem internetową grę edukacyjną. W ciągu ostatniego roku pracowałem nad ustabilizowaniem kodu i dodaniem nowych funkcji. Większość logiki znajduje się w interfejsie, więc testy jednostek zaplecza, choć pomocne, obejmują niewielki procent kodu. Gra osiągnęła punkt, w którym zaczyna się komplikować. Istnieją dwie różne tryby dla każdej gry, a gra zachowuje …
Z wartościowego punktu widzenia w mojej praktyce widzę dwie grupy testów jednostkowych: Testy, które testują nietrywialną logikę. Napisanie ich (przed wdrożeniem lub po nim) ujawnia pewne problemy / potencjalne błędy i pomaga zachować pewność w przypadku zmiany logiki w przyszłości. Testy testujące bardzo trywialną logikę. Testy te bardziej przypominają kod …
Napisałem tę klasę, która robi kilka rzeczy (być może jest to naruszenie zasady pojedynczej odpowiedzialności). Teraz zdaję sobie sprawę, że jakaś inna część projektu potrzebuje fragmentu tej logiki, a sposób, w jaki ją ujawnię, polega na wyodrębnieniu klasy z mojego oryginalnego Testowanego Systemu. Spodziewam się, że będę w stanie to …
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.