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.

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 …



4
Czy kpiny naruszają zasadę otwartej / zamkniętej?
Jakiś czas temu przeczytałem na odpowiedzi Przepełnienie stosu, której nie mogę znaleźć, zdanie wyjaśniające, że powinieneś przetestować publiczne interfejsy API, a autor powiedział, że powinieneś przetestować interfejsy. Autor wyjaśnił również, że jeśli zmieni się implementacja metody, nie trzeba modyfikować przypadku testowego, ponieważ spowoduje to zerwanie umowy zapewniającej działanie testowanego systemu. …

2
Testowanie - DB w pamięci kontra Mocking
Dlaczego pisząc testy, dlaczego ktoś chciałby korzystać z bazy danych w pamięci, a nie tylko wyśmiewać dane? Widziałem, że bazy danych w pamięci mogą być przydatne do testowania własnych repozytoriów. Ale jeśli używasz frameworka (takiego jak Spring Data), testowanie repozytoriów byłoby testowaniem frameworku, a nie logiki aplikacji. Wyśmiewanie wydaje się …

3
Jak wyśmiewać metodę za pomocą zakodowanego obiektu?
Pracuję nad aplikacją, która ma wiele warstw. Warstwa dostępu do danych do pobierania i zapisywania danych ze źródła danych, logika biznesowa do manipulacji danymi, interfejs użytkownika do wyświetlania danych na ekranie. Robię również testy jednostkowe warstwy logiki biznesowej. Jedynym wymaganiem jest przetestowanie przepływu logiki warstwy biznesowej. Więc używam frameworku Moq, …

3
Kpiąca klasa betonu - Niezalecane
Właśnie przeczytałem fragment książki „Growing Object-Oriented Software”, która wyjaśnia kilka powodów, dla których kpiny z konkretnej klasy nie są zalecane. Oto przykładowy kod testu jednostkowego dla klasy MusicCentre: public class MusicCentreTest { @Test public void startsCdPlayerAtTimeRequested() { final MutableTime scheduledTime = new MutableTime(); CdPlayer player = new CdPlayer() { @Override …

1
Ile kpiny jest „w sam raz?”
Pytanie to żartowałem, bo jestem pewien, że „to zależy”, ale mam kilka konkretnych pytań. Pracując w oprogramowaniu, które ma wiele głębokich warstw zależności, mój zespół przyzwyczaił się do dość obszernego kpowania w celu oddzielenia każdego modułu kodu od zależności poniżej. Dlatego byłem zaskoczony, że Roy Osherove zasugerował w tym filmie …

2
W jaki sposób wykryte zostaną błędy pisarskie podczas tworzenia próbnych wersji w dynamicznym języku?
Problem występuje podczas wykonywania TDD. Po kilku zdaniach testowych zmieniają się typy zwracane przez niektóre klasy / moduły. W statycznym języku programowania, jeśli poprzedni próbny obiekt był używany w testach innej klasy i nie został zmodyfikowany w celu odzwierciedlenia zmiany typu, wystąpią błędy kompilacji. Jednak w przypadku języków dynamicznych zmiana …

5
TDD: Wyśmiewanie ciasno powiązanych obiektów
Czasami przedmioty muszą być ściśle połączone. Na przykład CsvFileklasa prawdopodobnie będzie musiała ściśle współpracować z CsvRecordklasą (lub ICsvRecordinterfejsem). Jednak z tego, czego nauczyłem się w przeszłości, jedną z głównych zasad rozwoju opartego na testach jest: „Nigdy nie testuj więcej niż jednej klasy na raz”. Oznacza to, że powinieneś używać ICsvRecordpróbnych …
10 tdd  coupling  mocking 


4
Jak wyglądałby nowy język, gdyby został zaprojektowany od podstaw, aby był łatwy w TDD?
W przypadku niektórych najpopularniejszych języków (Java, C #, Java itp.) Czasami wydaje się, że pracujesz w sprzeczności z językiem, gdy chcesz w pełni TDD kodu. Na przykład w Javie i języku C # będziesz chciał wyśmiewać wszelkie zależności swoich klas, a większość frameworkowców zaleci, byś wyśmiewał interfejsy, a nie klasy. …
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.