Testuję, czy funkcja działa zgodnie z oczekiwaniami na liście. Więc chcę przetestować f(null) -> null f(empty) -> empty f(list with one element) -> list with one element f(list with 2+ elements) -> list with the same number of elements, doing what expected Aby to zrobić, jakie jest najlepsze podejście? Testowanie …
Niedawno czytałem książkę zatytułowaną Programowanie funkcjonalne w języku C # i przychodzi mi do głowy, że niezmienna i bezstanowa natura programowania funkcjonalnego osiąga wyniki podobne do wzorców wstrzykiwania zależności i jest prawdopodobnie jeszcze lepszym podejściem, szczególnie w odniesieniu do testów jednostkowych. Byłbym wdzięczny, gdyby ktokolwiek, kto ma doświadczenie w obu …
Główną wymówką dewelopera za brak dobrych testów jednostkowych jest „Kod nie został zaprojektowany w sposób testowany przez jednostkę”. Próbuję zrozumieć, jakiego typu projekt i kod nie mogą być testowane jednostkowo.
Próbuję przetestować klasę, która wywołuje niektóre usługi sieciowe Hadoop. Kod ma prawie postać: method() { ...use Jersey client to create WebResource... ...make request... ...do something with response... } np. istnieje metoda tworzenia katalogów, metoda tworzenia folderów itp. Biorąc pod uwagę, że kod dotyczy zewnętrznej usługi internetowej, nad którą nie mam …
Walczę z coraz bardziej irytującym problemem dotyczącym naszych testów jednostkowych, które wdrażamy w moim zespole. Próbujemy dodać testy jednostkowe do starszego kodu, który nie został dobrze zaprojektowany i chociaż nie mieliśmy żadnych trudności z faktycznym dodaniem testów, zaczynamy zmagać się z tym, jak przebiegają testy. Jako przykład problemu załóżmy, że …
Mówię o testach jednostkowych w sensie TDD. (Nie zautomatyzowana „integracja” lub jak to nazywasz testami). Stary kod jak w: (C ++) bez testów. (patrz: Efektywna współpraca Michaela Feathersa ze starszym kodem ) Ale także starszy kod jak w: Kod, nad którym nasz zespół pracuje od 10-5 lat, więc bardzo często …
Powtarzającym się tematem, który spotkałem w mojej karierze, jest bycie nowym programistą w zespole i szybkie nieodłączne nieufność do istniejących testów jednostek i testów integracyjnych. Podczas rozmowy kierownictwo informuje Cię, że „zdecydowanie wspierają testy jednostkowe” i otwarcie to zachęcają. Tak, ale wszystko w samych testach jest po prostu złe. Podobnie …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, 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 …
W tekstach o TDD często czytam o „usunięciu duplikacji” lub „poprawie czytelności” podczas etapu refaktoryzacji. Ale co sprawia, że usuwam nieużywaną funkcję? Powiedzmy na przykład, że istnieje klasa Cz metodami a()i b(). Teraz myślę, że byłoby miło mieć metodę, w f()którą się zaangażuje C. W rzeczywistości f()zastępuje wszystkie wywołania do, …
Czy powielanie danych między testami a prawdziwym kodem jest dobre czy złe? Załóżmy na przykład, że mam klasę Python, FooSaverktóra zapisuje pliki o określonych nazwach w danym katalogu: class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() …
Moja domena składa się z wielu prostych niezmiennych klas takich jak to: public class Person { public string FullName { get; } public string NameAtBirth { get; } public string TaxId { get; } public PhoneNumber PhoneNumber { get; } public Address Address { get; } public Person( string fullName, …
tło Test Driven Development został spopularyzowany po ukończeniu szkoły i w branży. Próbuję się tego nauczyć, ale pewne ważne rzeczy wciąż mi uciekają. Zwolennicy TDD mówią wiele rzeczy takich jak (zwanych dalej „zasadą pojedynczego twierdzenia” lub SAP ): Od jakiegoś czasu zastanawiałem się, jak testy TDD mogą być tak proste, …
Chciałem nauczyć się korzystać z podejścia TDD i miałem projekt, nad którym chciałem pracować od dłuższego czasu. To nie był duży projekt, więc pomyślałem, że będzie dobrym kandydatem do TDD. Czuję jednak, że coś poszło nie tak. Podam przykład: Na wysokim poziomie mój projekt jest dodatkiem do Microsoft OneNote, który …
TL; DR Pisanie dobrych, przydatnych testów jest trudne i wiąże się z wysokimi kosztami w C ++. Czy doświadczeni programiści mogą podzielić się uzasadnieniem na temat tego, co i kiedy testować? Długa historia Kiedyś zajmowałem się programowaniem opartym na testach, właściwie cały mój zespół, ale nie działało to dobrze dla …
Niedawno zaprojektowałem moduł szeregów czasowych, w którym moje szeregi czasowe są zasadniczo SortedDictionnary<DateTime, double>. Teraz chciałbym utworzyć testy jednostkowe, aby upewnić się, że ten moduł zawsze działa i daje oczekiwany wynik. Częstą operacją jest obliczanie wydajności między punktami w szeregu czasowym. Więc tworzę szereg czasowy, powiedzmy {1.0, 2.0, 4.0} (w …
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.