Mam coś takiego: public byte[] EncodeMyObject(MyObject obj) Testowałem tak: byte[] expectedResults = new byte[3]{ 0x01, 0x02, 0xFF }; Assert.IsEqual(expectedResults, EncodeMyObject(myObject)); EDYCJA: Dwa proponowane przeze mnie sposoby to: 1) Używanie zakodowanych oczekiwanych wartości, jak w powyższym przykładzie. 2) Używanie dekodera do dekodowania zakodowanej tablicy bajtów i porównywanie obiektów wejścia / wyjścia. …
Projekt, nad którym pracuję, zawiera wiele starszych testów, które nie zostały odpowiednio wykpione. Z tego powodu jedyną zależnością, jaką posiada, jest EasyMock, który nie obsługuje statyki, konstruktorów z argumentami itp. Zamiast tego testy polegają na połączeniach z bazą danych i „uruchamiają” testy. Dodanie powermock do obsługi tych przypadków jest odrzucane …
Czytam The Art of Unit Testing autorstwa Roy Osherove. Jestem w sekcji 7.2. Pisanie możliwych do utrzymania testów, w których autor ma notatkę o zapachu kodu: UWAGA: Czy po przefakturowaniu stanu wewnętrznego, aby był widoczny dla testu zewnętrznego, można uznać go za zapach kodu (znak, że coś może być nie …
Napisałem klasę C #, która służy do uruchamiania listy plików EXE (nie jednego z plików EXE innych firm, które muszę uruchomić) i utrzymywania ich w działaniu (od czasu do czasu sprawdzę, czy nadal działa, i uruchomię je, jeśli nie) . Jestem w stanie przetestować podstawową logikę dodawania, usuwania itp. Jak …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, 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 …
Jestem w projekcie systemu rozproszonego napisanym w Javie, w którym mamy klasy odpowiadające bardzo złożonym obiektom biznesowym w świecie rzeczywistym. Obiekty te mają wiele metod odpowiadających działaniom, które użytkownik (lub inny agent) może zastosować do tych obiektów. W rezultacie klasy te stały się bardzo złożone. Ogólne podejście do architektury systemu …
W wielu przypadkach mogę mieć istniejącą klasę z pewnym zachowaniem: class Lion { public void Eat(Herbivore herbivore) { ... } } ... i mam test jednostkowy ... [TestMethod] public void Lion_can_eat_herbivore() { var herbivore = buildHerbivoreForEating(); var test = BuildLionForTest(); test.Eat(herbivore); Assert.IsEaten(herbivore); } Teraz muszę stworzyć klasę Tygrys o identycznym …
Ostatnio dużo czytałem na temat różnych procesów wdrażania aplikacji internetowych przy użyciu SVN lub GIT, z myślą o przeprojektowaniu tego, jak obecnie wdrażamy tam, gdzie pracuję. Podobnie jak w przypadku wielu smaków Agile, zakłada się, że wszystko, co jest przeznaczone do opanowania lub pnia, jest gotowe do produkcji. Zarówno GitHub, …
Jak rozumiem teoretycznie pod „jednostką” ludzie oznaczają metodę (w OOP). Ale w praktyce testy, które weryfikują jakąś metodę w oderwaniu, są bardzo delikatnymi testami zachowania (weryfikacja nie wyniku, ale fakt, że wywołano jakąś metodę zależności). Widzę więc wielu ludzi, którzy przez jednostkę rozumieją mały zestaw ściśle powiązanych klas. W tym …
Kiedy muszę zaimplementować nową funkcję lub naprawić błąd, zwykle próbuję odtworzyć sytuację za pomocą testu. Czasami spędzam około 3 godzin wymyślając urządzenia i pisząc test. Rzeczywista implementacja funkcji lub naprawa błędów zajmuje mniej niż 1 godzinę. Czy ktoś jeszcze spędza co najmniej 3 razy dłużej na napisaniu testu w porównaniu …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Nigdy nie lubiłem testów jednostkowych. Zawsze myślałem, że to zwiększa ilość pracy, którą …
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.