Pytania otagowane jako mocking

Mockowanie i fałszowanie to sposoby na izolowanie kodu lub komponentów w celu zapewnienia, że ​​testy jednostkowe działają tylko na testowalnej jednostce kodu, bez faktycznego wykorzystywania innych komponentów lub zależności aplikacji. Mocking różni się od fałszowania tym, że można obejrzeć próbę, aby potwierdzić wyniki testu.

11
(Dlaczego) ważne jest, aby test jednostkowy nie testował zależności?
Rozumiem wartość automatycznego testowania i używam go wszędzie tam, gdzie problem jest wystarczająco dokładnie określony, że mogę wymyślić dobre przypadki testowe. Zauważyłem jednak, że niektórzy ludzie tutaj i na StackOverflow kładą nacisk na testowanie tylko jednostki, a nie jej zależności. Tutaj nie widzę korzyści. Wyśmiewanie / odgałęzienie w celu uniknięcia …

11
Jak wykrywasz problemy z zależnościami w testach jednostkowych, gdy używasz próbnych obiektów?
Masz klasę X i piszesz testy jednostkowe, które weryfikują zachowanie X1. Istnieje również klasa A, która bierze X jako zależność. Pisząc testy jednostkowe dla A, kpisz z X. Innymi słowy, podczas testowania jednostkowego A ustawiasz (postulujesz) zachowanie próbnego X na X1. Czas płynie, ludzie używają twojego systemu, potrzebuje zmian, X …

11
Czy statyczność jest ogólnie „zła” dla testów jednostkowych, a jeśli tak, to dlaczego Resharper to zaleca? [Zamknięte]
Odkryłem, że istnieją tylko 3 sposoby testowania jednostkowego zależności (makiety / kodu pośredniczącego), które są statyczne w języku C # .NET: Mole TypeMock JustMock Biorąc pod uwagę, że dwa z nich nie są darmowe, a jeden nie trafił w wersji 1.0, drwiny ze statycznych rzeczy nie są zbyt łatwe. Czy …

8
Jak dokładnie należy pisać testy jednostkowe bez obszernego kpienia?
Jak rozumiem, celem testów jednostkowych jest testowanie jednostek kodu osobno . To znaczy że: Nie powinny łamać się przez jakąkolwiek niepowiązaną zmianę kodu w innym miejscu w bazie kodu. Tylko jeden test jednostkowy powinien przełamać błąd w testowanej jednostce, w przeciwieństwie do testów integracyjnych (które mogą pęknąć w stosach). Wszystko …

3
Czy jest to właściwe zastosowanie metody resetowania Mockito?
Mam prywatną metodę w mojej klasie testowej, która konstruuje często używany Barobiekt. BarKonstruktor wywołuje someMethod()metodę w moim wyśmiewali obiektu: private @Mock Foo mockedObject; // My mocked object ... private Bar getBar() { Bar result = new Bar(mockedObject); // this calls mockedObject.someMethod() } W niektórych moich metodach testowych, które chcę sprawdzić, …
68 java  mocking 

6
Jak przetestować system, w którym trudno wyśmiewać obiekty?
Pracuję z następującym systemem: Network Data Feed -> Third Party Nio Library -> My Objects via adapter pattern Niedawno mieliśmy problem polegający na tym, że zaktualizowałem używaną przeze mnie bibliotekę, co spowodowało między innymi zmianę znaczników czasu (zwracanych przez bibliotekę zewnętrzną long) z milisekund po epoce na nanosekundy po epoce. …

2
Czy testy integracyjne wykorzystują symulacje?
Obecnie jestem na zajęciach z zakresu testowania oprogramowania, gdzie w ramach naszego projektu semestralnego musimy przeprowadzić na nim wiele rodzajów testów, takich jak testy jednostkowe i testy integracyjne. Do testowania integracji profesor powiedział, że do naszych testów integracji używa fałszywych bibliotek i fałszywych bibliotek (takich jak EasyMock i Mockito). Jestem …

3
Czy można sfałszować część testowanej klasy?
Załóżmy, że mam klasę (wybacz wymyślony przykład i jego zły projekt): class MyProfit { public decimal GetNewYorkRevenue(); public decimal GetNewYorkExpenses(); public decimal GetNewYorkProfit(); public decimal GetMiamiRevenue(); public decimal GetMiamiExpenses(); public decimal GetMiamiProfit(); public bool BothCitiesProfitable(); } (Uwaga: metody GetxxxRevenue () i GetxxxExpenses () mają zależności, które są eliminowane) Teraz przeprowadzam …

3
Kruche testy jednostkowe z powodu potrzeby nadmiernego kpienia
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 …

6
Z perspektywy TDD, czy jestem złym człowiekiem, jeśli przeprowadzam test na żywym punkcie końcowym zamiast na pozór?
Podążam religijnie za TDD. Moje projekty zazwyczaj mają 85% lub więcej pokrycia testowego, z sensownymi przypadkami testowymi. Dużo pracuję z HBase , a główny interfejs klienta, HTable, jest bardzo trudny do wyszydzenia. Pisanie moich testów jednostkowych zajmuje mi 3 lub 4 razy więcej niż pisanie testów, które używają aktywnego punktu …

3
Wyśmiewanie wprowadza obsługę kodu produkcyjnego
Zakładając interfejs IReader, implementację interfejsu IReader ReaderImplementation oraz klasę ReaderConsumer, która zużywa i przetwarza dane z czytnika. public interface IReader { object Read() } Realizacja public class ReaderImplementation { ... public object Read() { ... } } Konsument: public class ReaderConsumer() { public string location // constructor public ReaderConsumer() { …

3
Jakie są kluczowe czynniki przy wyborze Mocking Framework?
Chcę zacząć od obiektów w moich testach jednostkowych. Wygląda na to, że istnieje mnóstwo dobrych szyderczych ram. Czy różne ramy mają różnych docelowych odbiorców? Jakie czynniki należy wziąć pod uwagę, wybierając ramy odpowiednie dla mojej sytuacji?
15 mocking 


7
Jak uniknąć konieczności testowania prywatnych metod Jednostki
Wiem, że nie powinieneś testować prywatnych metod, a jeśli wygląda na to, że musisz, może tam być klasa, która czeka na wyjście. Ale nie chcę mieć klas gazillionowych tylko po to, abym mógł przetestować ich publiczne interfejsy i stwierdzam, że w przypadku wielu klas, jeśli tylko przetestuję publiczne metody, w …

1
Jednostka testująca klienta API i opakowania
Krążyłem w kółko, próbując znaleźć najlepszy sposób testowania jednostkowego biblioteki klienta API, którą opracowuję. Biblioteka ma Clientklasę, która w zasadzie ma mapowanie 1: 1 z API, oraz dodatkową Wrapperklasę, która zapewnia bardziej przyjazny dla użytkownika interfejs ponad Client. Wrapper --> Client --> External API Najpierw napisałem kilka testów dla obu …

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.