2010-07-19 27 views
6

Esistono buone soluzioni per TDD di un'app Objective-c MacOSX?TDD per un'applicazione OSX

EDIT: più informazioni

Vorrei davvero che qualcosa di simile a RSpec dal mondo Ruby. L'XCode è sufficientemente integrato? Ho sentito che non lo è. Vorrei qualcosa che supporti Mock, Stub e la maggior parte/tutte le condizioni di test fornite da rSpec (o condizioni di test simili).

+1

Cosa intendi per "buono"?In che modo TDD * non * funziona per te? TDD è un concetto; quale "soluzione" stai cercando? –

+0

@ S.Lott vedi modifica –

+1

"Ho sentito che non lo è.". Si prega di fornire alcune prove. Un link o un riferimento o anche una citazione: qualcosa per indicare ciò che pensi sia sbagliato o mancante. –

risposta

7

Sì, TDD è facile da fare con Xcode in quanto include il test dell'unità fuori dalla scatola (OCUnit è stato incluso in Xcode 2.1). Consulta la documentazione di Apple e lo Xcode Unit Testing Guide per maggiori dettagli su come sviluppare ed eseguire i test unitari in Xcode.

1

Personalmente io uso GHUnit, Ha una piccola e fresca app di test e supporta cose come il test Async. Qualcosa che nel mondo pesante delegato della programmazione di iPhone & mac è inestimabile.

Anche i metodi di test sono denominati molto simili a quelli di OCUnit, quindi è possibile scegliere se poi decidere di passare piuttosto facilmente.

2

Non c'è niente come RSpec (ancora) per Objective-C, ma i framework xUnit in stile SenTest/OCUnit (incluso con Xcode), le aggiunte di test di Google Toolbox per Mac unitamente a OCUnit e GHUnit sono tutti molto buoni. Puoi anche fare lo stile BDD con loro.

Se si è veramente impegnati con RSpec, si consiglia di indagare su MacRuby. Sebbene possa sembrare un po 'pesante in un progetto Objective-C, puoi caricare i tuoi framework Objective-C ed eseguire i tuoi test unitari in RSpec tramite MacRuby.

1

Se volete davvero usare Ruby, allora si può provare la forchetta di Bacon (un clone RSpec) chiamato MacBacon, che è ottimizzato per gli ambienti basati su NSRunloop. Nessuno degli altri è al momento della scrittura.

Se si desidera mantenere l'ingombro ridotto o funziona su iOS, dispongo anche di una porta con lo stesso codice, su Nu programming language, denominato NuBacon.

Ho ancora bisogno di scrivere alcuni post di blog introduttivi, ma se ti senti avventuroso vai avanti.