Nigdy nie byłem tak naprawdę przekonany o korzyściach, które uzyskasz, przechodząc na RSpec z Test :: Unit w Ruby on Rails (pomimo od czasu do czasu czytania o RSpec). Co takiego jest w RSpec, że wydaje się, że używa go większość projektów Rails? (niektóre przykłady kodu wyraźnie wskazujące na przewagę …
Próbuję zalecać testowanie jednostkowe w mojej grupie roboczej, ale często spotykam się z zastrzeżeniem, że powinien on być używany tylko w przypadku eksportowanego z zewnątrz interfejsu API (który jest jedynie minimalną i niekrytyczną częścią naszego systemu), a nie wewnętrznego i prywatnego kod (który ma teraz tylko testy funkcjonalne). Chociaż uważam, …
Wcześniej miałem trochę doświadczenia w testowaniu jednostkowym, w tym, co nazywam (nie pejoratywnie) klasycznym projektem inżynierii oprogramowania: MVC, z graficznym interfejsem użytkownika, bazą danych, logiką biznesową w warstwie środkowej itp. Teraz „ piszę naukową bibliotekę komputerową w C # (tak, wiem, że C # jest zbyt wolny, używaj C, nie …
Jakie byłoby najlepsze podejście do testowania jednostkowego modelu zintegrowanego z aplikacją ściśle powiązaną z bazą danych? Konkretnym scenariuszem jest tutaj koszyk na zakupy - chciałbym móc przetestować dodawanie usuwania i pobierania przedmiotów z koszyka, a także logikę ustalania cen itp. To wszystko moim zdaniem wymaga dostępu do bazy danych, chociaż …
Dużo słyszę od praktyków TDD , że jedną z zalet TDD jest to, że zmusza programistów do przestrzegania zasad SOLID (pojedyncza odpowiedzialność, otwarte zamknięcie, podstawienie Liskowa, segregacja interfejsu i inwersja zależności). Ale jak dla mnie wystarczy napisać kilka testów (przede wszystkim test jednostkowy), aby zrozumieć, że ważne jest, aby postępować …
Aby naprawić błąd w aplikacji, zmodyfikowałem metodę o nazwie postLogin, dodając wywołanie do istniejącej metody o nazwie getShoppingCart. Kod protected void postLogin() { getShoppingCart(); } Nie jestem jednak pewien, jaki jest najlepszy sposób na napisanie testu jednostkowego postLogin. Podejście 1 Użyj weryfikacji z Mockito, aby po prostu sprawdzić, czy metoda …
Jeśli używam instrukcji switch do obsługi wartości z wyliczenia (który jest własnością mojej klasy) i mam wielkość liter dla każdej możliwej wartości - czy warto dodać kod do obsługi wielkości „domyślnej”? enum MyEnum { MyFoo, MyBar, MyBat } MyEnum myEnum = GetMyEnum(); switch (myEnum) { case MyFoo: DoFoo(); break; case …
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 …
Właśnie zmieniłem ustawienia gałęzi w moim repozytorium GitHub, tak więc moja [następna] gałąź wymaga przekazania kompilacji CI przez żądanie ściągnięcia. Następnie odbyła się dyskusja z kilkoma członkami zespołu na temat nieudanych testów. Dla kontekstu ... Repozytorium ma gałąź [master], do której PR jest wprowadzany tylko wtedy, gdy jest wydanie, więc …
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 …
W tej chwili pracuję nad projektem, który generuje tabelę (między innymi) na podstawie zawartości systemu plików, a z kolei wprowadza pewne modyfikacje metadanych dotyczących znalezionych elementów. Pytanie brzmi: w jaki sposób należy napisać testy lub skonfigurować? Czy istnieje prosty sposób na wyszydzenie tego? Czy powinienem skonfigurować „piaskownicę”?
Testuję metodę, która ma wygenerować zbiór obiektów danych. Chcę sprawdzić, czy właściwości obiektów są ustawione poprawnie. Niektóre właściwości zostaną ustawione na to samo; inne zostaną ustawione na wartość zależną od ich pozycji w kolekcji. Naturalnym sposobem na to wydaje się być pętla. Jednak Roy Osherove zdecydowanie odradza stosowanie logiki w …
Czasami natrafiam na sytuację, w której naprawienie błędu wymaga usunięcia części kodu. Zakłada się, że purysta TDD zaleciłby napisanie testu zakończonego niepowodzeniem, usunięcie kodu, a następnie obejrzenie testu. Teraz naprawdę dziwnie jest mieć test potwierdzający usunięcie części kodu. Pewnie, przypuszczam, że zapewniłoby to, że nikt nie wkopałby się w kontrolę …
Podczas prac badawczo-rozwojowych często piszę programy, których zachowanie jest w pewnym stopniu losowe. Na przykład, kiedy pracuję w programowaniu genetycznym, często piszę programy, które generują i wykonują dowolny losowy kod źródłowy. Problem z testowaniem takiego kodu polega na tym, że błędy są często przerywane i mogą być bardzo trudne do …
W projekcie, w którym istnieją niefunkcjonalne wymagania, które określają maksymalny czas wykonania dla określonego działania, QA musi sprawdzić wydajność tego działania na dedykowanej maszynie przy użyciu precyzyjnego sprzętu pod precyzyjnym obciążeniem, przy czym zarówno sprzęt, jak i obciążenie są określone w wymaganiach. Z drugiej strony niektóre błędne zmiany w kodzie …
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.