Jakie istnieją ramy do testowania jednostkowego kodu celu C? Chciałbym ramy, które ładnie integrują się z Apple Xcode.
330
Jakie istnieją ramy do testowania jednostkowego kodu celu C? Chciałbym ramy, które ładnie integrują się z Apple Xcode.
Odpowiedzi:
Xcode zawiera XCTest, który jest podobny do OCUnit , frameworka testowania jednostek Objective-C i ma pełną obsługę uruchamiania testów jednostkowych opartych na XCTest w ramach procesu budowania projektu. Obsługa testów jednostkowych Xcode została opisana w Omówieniu Xcode: Korzystanie z testów jednostkowych .
Wracając do Xcode 2 dni, napisałem serię postów na blogu o tym, jak wykonywać niektóre typowe zadania z testowaniem jednostek Xcode:
Pomimo używania OCUnit zamiast XCTest, koncepcje są w dużej mierze takie same.
Na koniec napisałem także kilka postów na temat pisania testów dla interfejsów użytkownika Cocoa; sposób, w jaki kakao jest zbudowane, sprawia, że jest to stosunkowo proste, ponieważ w większości przypadków nie trzeba obracać pętli zdarzeń ani nic takiego.
Umożliwia to tworzenie testów opartych na testach nie tylko kodu na poziomie modelu, ale także kodu na poziomie kontrolera, a nawet kodu na poziomie widoku.
źródło
Sprawdź GHUnit autorstwa Gabriel Handford:
źródło
Zacząłem używać zestawu testowego Google Toolbox dla iPhone'a, który działa świetnie dla mnie.
google-toolbox-for-mac
źródło
Sprawdź OCUnit . Sieć programistów Apple ma świetne wprowadzenie .
źródło
Pamiętaj, że projekt Google Toolbox dla komputerów Mac (GTM) po prostu rozszerza / rozszerza platformę Apple SenTestingKit (która sama w sobie opiera się na OCUnit). Jak mówią na stronie projektu:
Zwróć uwagę na następujący komentarz na temat testowania interfejsu użytkownika:
Zobacz stronę „ Weryfikacja kodu i testy jednostkowe ”, aby uzyskać instrukcje na temat korzystania z niego.
źródło
Doszedłem do wniosku, że GHUnit to najbardziej zaawansowana platforma testowa dla Objective-C. Zrobiłem podsumowanie ram testowych na moim blogu. Jest najbardziej elastyczny pod względem wdrażania (natywny iPhone, symulator lub Mac OS) i zapewnia funkcje. Ponieważ jest oparty na GTM, dziedziczy wszystkie zalety GTM w stosunku do SenTestingKit, ale dodaje także znacznie więcej. Kolejną zaletą jest to, że jest utrzymywany bardzo aktywnie.
Podjęłam starania, aby zintegrować OCMock z GHUnit, działa świetnie! Możesz pobrać kod na github .
źródło
Zdaję sobie sprawę, że to stare pytanie, ale jeśli wolisz testowanie w stylu BDD (rspec, Jasmine itp.) Niż testowanie w stylu xUnit (Test :: Unit, JSUnit, JUnit itp.), Możesz rozważyć sprawdzenie Cedar . Cedar przenosi testy w stylu BDD do Objective-C, teraz, gdy język obsługuje zamykanie.
Z radością wykorzystujemy Cedar do naszych projektów iOS w Pivotal Labs i aktywnie pracujemy nad jego ulepszeniem. Wszelkie uwagi i sugestie są mile widziane na [email protected]
źródło
Poleciłbym również użyć narzędzi pokrycia, aby zobaczyć, która część kodu jest objęta testami jednostkowymi, a które nie. Za pomocą narzędzia GCOV można wygenerować podstawowe pokrycie linii i kodu oddziału . Jeśli chcesz generować ładne raporty pokrycia HTML, istnieją LCOV i ZCOV, które właśnie to robią.
źródło
Polecam gh-unit, ma ładny GUI do wyników testów.
http://github.com/gabriel/gh-unit/tree/master
źródło
Wsparcie testów jednostkowych w pakiecie xcode (dla jego prostej konfiguracji) w połączeniu z ocrunner (dla niektórych autotestów / dobroci Growl) jest obecnie moją ulubioną konfiguracją testów jednostkowych Obj-C.
źródło
jest ich dużo
List_of_unit_testing_frameworks w Objective-C
źródło
Sen: te (twórca środowiska testowego dołączonego do Xcode) wyjaśnia, jak używać OCUnit z projektem iPhone'a: simple-iphone-ipad-unit-test .
źródło
Matt Gallagher z Cocoa with Love ma bardzo dobry artykuł na temat testów jednostkowych.
źródło
Sugerowałbym przyjrzenie się Kiwi, platformie testowej BDD typu open source dla iOS: Kiwi
Sprawdź WIKI projektu, aby rozpocząć lub zdobyć książkę Daniela Steinberga „Test Driving iOS Development with Kiwi” test-driving-ios-development
źródło
Używam SimpleUnitTest współpracuje z bibliotekami iPhone i iPad.
http://cbess.blogspot.com/2010/05/simple-iphone-ipad-unit-test.html
Jest dostarczany z szablonem Xcode testu jednostkowego, aby łatwo dodać klasę testu jednostkowego. Zawija GTM.
Możesz dosłownie upuścić go do aktywnego projektu i rozpocząć dodawanie testów jednostkowych w ciągu 3 minut (lub krócej).
źródło
Specta to nowoczesna platforma TDD (Test Driven Development) / BDD (Behaviour Driven Development), która działa na XCTest. Obsługuje testy jednostkowe dla projektów iOS i Mac OS X.
źródło
Mam nadzieję, że możesz użyć „SenTestKit”, z którego możesz przetestować każdą metodę.
źródło