Pytania otagowane jako unit-testing

Testowanie jednostkowe to metoda, według której poszczególne jednostki kodu źródłowego są testowane w celu ustalenia, czy nadają się do użycia.

5
Testy jednostkowe - pierwsze kroki
Właśnie zaczynam od testów jednostkowych, ale nie jestem pewien, czy naprawdę rozumiem sens tego wszystkiego. Czytam tutoriale i książki na ten temat, ale mam tylko dwa krótkie pytania: Myślałem, że celem testów jednostkowych jest przetestowanie napisanego przez nas kodu. Wydaje mi się jednak, że aby móc uruchomić test, musimy zmienić …


5
Czy należy przetestować złożoność algorytmiczną? Jeśli tak to jak?
Powiedzmy, że implementuję coś prostego, na przykład wyszukiwanie posortowanej listy / tablicy. Funkcja (w c #) wyglądałaby podobnie do: static int FindIndex(int[] sortedList, int i); Mogłem to zaimplementować i przetestować pod kątem funkcjonalności, ale z oczywistych powodów zwykle wolę wyszukiwanie binarne niż wyszukiwanie liniowe lub coś celowo głupiego. Więc moje …

4
Kiedy powinienem używać fałszywych obiektów?
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 …

6
Pisanie testów jednostkowych w środku
Czy testowanie jednostkowe jest w 100%, czy nie przy jakiejkolwiek transakcji? Przeglądałem moje stare projekty i zacząłem dodawać funkcje, tym razem z testami jednostkowymi. Czy jednak jest to ostatecznie bezwartościowe, jeśli będę ponownie wykorzystywać wcześniejsze komponenty, które nie mają testów jednostkowych? Czy muszę pisać testy jednostkowe dla wszystkich poprzednich klas …

4
Testowanie jednostkowe elementów wewnętrznych
W jakim stopniu jednostka testuje wewnętrzne / prywatne komponenty klasy / modułu / pakietu / etc? Czy w ogóle je testujesz, czy tylko testujesz interfejs do świata zewnętrznego? Przykładem tych wewnętrznych metod są metody prywatne. Jako przykład wyobraźmy sobie parser rekurencyjnego zejścia , który ma kilka wewnętrznych procedur (funkcji / …



6
Jak piszesz przypadki testów jednostkowych?
Czasami kończę pisanie przypadków testowych dla kodu napisanego przez innych programistów. Są sytuacje, kiedy naprawdę nie wiem, co programista próbuje zrobić (część biznesowa) i po prostu manipuluję przypadkiem testowym, aby uzyskać zieloną linię. Czy te rzeczy są normalne w branży? Jaki jest normalny trend? Czy programiści powinni pisać jednostkowe przypadki …


4
Czy szpiegowanie sprawdzonych klas to zła praktyka?
Pracuję nad projektem, w którym połączenia wewnętrzne klasy są zwykle, ale wyniki są wielokrotnie proste. Przykład ( nie prawdziwy kod ): public boolean findError(Set<Thing1> set1, Set<Thing2> set2) { if (!checkFirstCondition(set1, set2)) { return false; } if (!checkSecondCondition(set1, set2)) { return false; } return true; } Pisanie testów jednostkowych dla tego …


7
Czy wzorzec strategii można wdrożyć bez znacznego rozgałęzienia?
Wzorzec strategii działa dobrze, aby uniknąć dużych, jeśli ... innych konstrukcji i ułatwić dodawanie lub zastępowanie funkcjonalności. Jednak moim zdaniem nadal ma to jedną wadę. Wygląda na to, że w każdej implementacji wciąż musi istnieć rozgałęziony konstrukt. Może to być plik fabryczny lub plik danych. Jako przykład weź system zamawiania. …

4
Jak można TDD wykryć błąd, który można przetestować dopiero po jego naprawieniu?
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 …

4
Jak napisać test dla czystej metody, która nic nie zwraca?
Mam kilka klas, które zajmują się walidacją wartości. Na przykład RangeValidatorklasa sprawdza, czy wartość mieści się w określonym zakresie. Każda klasa walidatora zawiera dwie metody: is_valid(value)która zwraca wartość Truelub Falsezależy od niej i ensure_valid(value)która sprawdza określoną wartość i albo nie robi nic, jeśli wartość jest poprawna, albo zgłasza określony wyjątek, …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.