2010-07-19 38 views
6

Czy są jakieś dobre rozwiązania dla TDD aplikacji MacOSX Objective-c?TDD dla aplikacji OSX

EDIT: Więcej informacji

naprawdę chciałbym coś podobnego do rspec ze świata Ruby. Czy wbudowany XCode jest wystarczający? Słyszałem, że tak nie jest. Chciałbym czegoś, co obsługuje Mocks, skrótów i większość/wszystkie warunki testu dostarczane przez rSpec (lub podobne warunki testu).

+1

Co masz na myśli mówiąc "dobry"?W jaki sposób TDD * nie * działa dla ciebie? TDD to koncepcja; jakiego "rozwiązania" szukasz? –

+0

@ S.Lott patrz edycja –

+1

"Słyszałem, że tak nie jest.". Proszę podać dowody. Link lub odniesienie, a nawet cytat: coś, co może wskazać, co uważasz za złe lub którego nie ma. –

Odpowiedz

7

Tak, TDD jest łatwe do zrobienia z Xcode, ponieważ zawiera testowanie jednostkowe po wyjęciu z pudełka (OCUnit był zawarty w Xcode 2.1). Zobacz dokumentację Apple i Xcode Unit Testing Guide, aby uzyskać szczegółowe informacje na temat tworzenia i uruchamiania testów jednostkowych w Xcode.

1

Osobiście używam GHUnit, ma fajną małą aplikację do testowania i obsługuje takie rzeczy jak test Async po wyjęciu z pudełka. Coś, co w Delegaturze ciężkiego świata iPhone'a jest nieocenione.

Także metody testowania są nazywane bardzo podobnymi do tych z OCUnit, więc możesz wybrać albo zdecydować się na zamianę ich dość łatwo.

2

Nie ma to jak RSpec (jeszcze) dla Objective-C, ale frameworki typu XUnit SenTest/OCUnit (dołączone do Xcode), Google Toolbox dla Maca, testy jednostkowe do OCUnit i GHUnit są bardzo dobre. Możesz również tworzyć z nimi styl BDD.

Jeśli naprawdę zależy Ci na RSpec, możesz zbadać numer MacRuby. Chociaż może to być trochę ciężkie w projekcie Objective-C, możesz załadować swoje framework (y) Objective-C i uruchomić testy jednostek w RSpec przez MacRuby.

1

Jeśli chcesz naprawdę lubią używać Ruby, to można spróbować widelec bekonu (klon RSpec) o nazwie MacBacon, który jest zoptymalizowany dla środowisk NSRunloop bazie. Żaden z pozostałych nie jest w momencie pisania.

Jeśli chcesz zachować mały ślad lub pracujesz na systemie iOS, mam też port tego samego kodu, pod numerem Nu programming language, o nazwie NuBacon.

Nadal muszę napisać kilka wprowadzających blogów, ale jeśli czujesz się na siłach, idź przed siebie.