2014-04-07 10 views
6

Vorremmo integrare una suite di test nella nostra app iOS. Per avere un'idea generale, questa app utilizza i servizi Web, salva i file sul dispositivo e ha alcune parti di navigazione complesse. I requisiti: - eseguire la suite di test con Jenkins - essere in grado di lanciare la suite di test su una serie di dispositivi e iOS versioni - non abbiamo bisogno di qualcosa di esplicitamente leggibili dai non sviluppatori come Calabash proponeScelta dei framework di test iOS

Eravamo pensando di fare alcuni test del flusso di lavoro (interazione che porta da uno schermo all'altro) e test delle unità. Abbiamo cercato un po 'su google ma gli articoli hanno spesso almeno 2 anni, il che è come il periodo paleolitico nel mondo mobile. Ma ancora, dà alcuni bei primi input.

Per Unit Testing, stavamo pensando:

  • GHUnit
  • XCTest
  • Kiwi

Per il test del flusso di lavoro, stavamo pensando:

  • Zucchini
  • Calabash

Per quanto riguarda tutte le esigenze menzionate, qualcuno vedere qualche consiglio di scegliere un quadro o l'altro (o un'altra proposizione)?

Grazie per qualsiasi feedback.

ps: a proposito, alcuni articoli interessanti che abbiamo trovato su questo argomento che può aiutare: http://blog.lesspainful.com/2012/03/07/Calabash-iOS/ http://iosunittesting.com/faq/

+1

Possibile duplicato di https://stackoverflow.com/questions/4114083/ios-tests-specs-tdd-bdd-and-integration-acceptance-testing –

+0

Questo altro post aiuta ma è sicuramente di nuovo un vecchio post nel Mobile mondo. Non menziona nemmeno Calabash per testare il flusso di lavoro dell'app. Inoltre, ogni progetto ha requisiti particolari e non tutti i framework sono i benvenuti. Quindi stiamo cercando consigli per quanto riguarda i nostri requisiti. – Toka

+0

Per una discussione recente sullo stato del test dell'interfaccia utente e su tutti gli strumenti, vedere questo talk su youtube da [MCE 2014: Drew Crawford - UI testing sucks] (http://www.youtube.com/watch?v = h1TRkDSmnOc). –

risposta

2

vi consiglio Kiwi a test di unità per diversi motivi:

  • Esso supporta nidificato contesti che possono avere ciascuno i propri blocchi di setup e di rimozione. Ciò consente ai tuoi test di essere più ASCIUTTI. XCTest ha solo un metodo di setup e teardown che viene utilizzato per tutti i test in un file. Con i contesti nidificati di Kiwi, è possibile avere codice di installazione che viene eseguito prima di alcuni ma non di tutti i test in base a come si definiscono i contesti.
  • Kiwi ha un grande supporto per le dipendenze di derisione/stub quando è necessario. Ho trovato che sia più robusto di OCMock (metodi di classe mocked con OCMock bloccato dopo il test se ti sei dimenticato di chiamare -stopMocking mentre Kiwi si assicura sempre di smantellare i metodi di classe derisi dopo ogni test).

Non ho esperienza nel test di flusso di lavoro/applicazione ma ho intenzione di verificare KIF e UIAutomation.

Consiglio vivamente di guardare iOS Tests/Specs TDD/BDD and Integration & Acceptance Testing per una discussione più completa delle librerie di test.