Czy powinien istnieć osobny raport dotyczący pokrycia kodu dla testów jednostkowych i integracji, czy jeden raport pokrycia kodu dla obu? Założeniem tego jest to, że pokrycie kodu pozwala nam upewnić się, że nasz kod został objęty testami tak dalece, jak to możliwe (tyle, ile może teraz maszyna). Posiadanie osobnego raportu …
Niektóre części gry można łatwo przetestować w sposób zautomatyzowany (logika, matematyka, obsługa danych wejściowych); ale jest też wiele elementów czysto wizualnych i trudnych do przetestowania. Byłbym zaskoczony, gdyby przemysł gier pozostawił to wszystko testom ręcznym; jest w tym wystarczająco dużo pieniędzy, że zgaduję, że włożono wysiłek w testowanie regresji przynajmniej …
Zaczynam pisać kod C ++, aby uruchomić robota, i nie wiem, jak włączyć testowanie jednostkowe, jeśli rzeczywiście mogę. Dostałem bibliotekę, która pozwala na tworzenie „poleceń” dla robota, które są automatycznie planowane i wykonywane. Mechanizm tworzenia tych poleceń jest podklasy klasy bazowej polecenia ich dostarczania i wprowadzania wirtualnych void Initialize(), void …
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 …
Obecnie refaktoryzuję część dużej bazy kodu bez żadnych testów jednostkowych. Próbowałem zmienić kod na brutalny, tzn. Próbując odgadnąć, co robi kod i jakie zmiany nie zmieniłyby jego znaczenia, ale bez powodzenia: losowo psuje funkcje w całej bazie kodu. Należy pamiętać, że refaktoryzacja obejmuje przeniesienie starszego kodu C # do bardziej …
Innego dnia czytałem trochę o Testowaniu Jednostek i widziałem kilka przykładów, w których ludzie tworzą interfejs repozytorium (tj. IExampleRepository), A następnie tworzą prawdziwe repozytorium ( public class ExampleRepository : IExampleRepository) i repozytorium, które będzie używane do testowania jednostek ( FakeExampleRepository : IExampleRepository). W IExampleRepositoryimplementacji stosowano te same metody, co w …
Pisząc testy jednostkowe, często używa się urządzeń: mało danych do przetestowania, więc możemy powiedzieć: 1. Zdobądź wszystkich klientów, którzy powinni dołączyć Willy Wonka. 2. Usuń klienta 3, a teraz zdobądź klientów nie powinien już zawierać Willy Wonka. To dobrze w testach jednostkowych. Użyj setup / teardown, aby ponownie załadować urządzenia …
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 …
Mam zajęcia, które testuję. Klasa ma funkcję:apply(List<IRule> rules, List<ITarget> targets); W jednym teście chcę upewnić się, że każdy cel został przekazany do jednej reguły, a la: rule1.AssertWasCalled(fnord => fnord.Test(target1)); rule1.AssertWasCalled(fnord => fnord.Test(target2)); rule1.AssertWasCalled(fnord => fnord.Test(target3)); Wydaje mi się, że ograniczenie się do jednego stwierdzenia byłoby dość hobgoblinem . Czy mam …
Jeśli mam w kodzie funkcję, która wygląda następująco: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalnie przefakturowałbym to, aby użyć Ploymorfizmu przy użyciu fabrycznego wzorca klasy i strategii: public string calculateTax(string name) { InameHandler …
W ciągu ostatniego roku poprowadziłem mój zespół w kierunku rozwoju wersji często wczesnej wersji (AKA: Rapid Application Development, a nie Agile). Aby uzyskać więcej informacji o sposobie, w jaki zamykamy kompilację, zobacz moją odpowiedź tutaj: Proste sposoby poprawy jakości wydania w środowisku RAD Kiedy przyjęliśmy RAD, ludzie byli dość niezależni …
Rozważ te dwa przykłady: Przekazywanie obiektu do konstruktora class ExampleA { private $config; public function __construct($config) { $this->config = $config; } } $config = new Config; $exampleA = new ExampleA($config); Tworzenie instancji klasy class ExampleB { private $config; public function __construct() { $this->config = new Config; } } $exampleA = …
Aktualnie pracujemy nad średnim / dużym projektem PHP / MySQL. Przeprowadzamy testy jednostkowe z PHPUnit i QUnit i mamy dwóch pełnoetatowych testerów, którzy ręcznie testują aplikację. Nasze dane testowe (próbne) są obecnie tworzone za pomocą skryptów SQL. Mamy problem z utrzymywaniem skryptów dla danych testowych. Logika biznesowa jest dość złożona, …
Mam klasę z jedną metodą publiczną Send()i kilkoma metodami prywatnymi. Wywołuje kilka usług sieciowych i przetwarza odpowiedź. Przetwarzanie odbywa się metodami prywatnymi. Chcę przetestować kod jednostki. Rozumiem, że testy jednostkowe powinny testować mój kod w oderwaniu (tj. Próbne odpowiedzi dostawcy). Uważam również, że prywatne metody nie powinny wymagać testowania jednostkowego. …
Należę do zespołu programistów, który współpracuje z wieloma innymi zespołami w celu utrzymania i ulepszania aplikacji, która była używana przez co najmniej 15 lat. Kiedy został zbudowany i zaprojektowany po raz pierwszy, TDD było niespotykane. Aplikacja jest dość stabilna i rzadko napotykamy błąd zatrzymujący program, ale robimy średnio około jednego …
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.