2013-10-09 6 views
9

È possibile utilizzare Jenkins con XCTest?Posso integrare Jenkins e XCTest

C'è uno script ruby ​​(OCUnit2JUnit - https://github.com/ciryon/OCUnit2JUnit) che analizza l'output di OCUnit e crea file XML che Jenkins può analizzare.

C'è qualcosa di equivalente per gestire la nuova uscita XCTest?

In questo momento, l'utilizzo dell'integrazione continua di Apple non è una possibilità.

+4

XCTool ha il supporto XCTest e una storia eccellente per quanto riguarda l'integrazione Jenkins. – CodaFi

risposta

-1

Questo è quello che ho eseguito il mio progetto Jenkins dopo l'installazione ocunit2junit sulla mia macchina di costruzione:

xcodebuild test -scheme <my_scheme> -configuration Debug -sdk iphonesimulator7.0 -destination OS=7.0,name="iPhone Retina (4-inch)" | ocunit2junit 

Ho poi aggiunto un rapporto di risultato del test JUnit Pubblica come un'azione di post costruzione. All'inizio era un po 'flakey (solo creando i file xml quando non c'era azione post-compilazione), ma dopo aver avviato la compilazione direttamente sulla mia macchina di compilazione, funzionava.

+0

Grazie per la condivisione, ma questo non risponde alla domanda ... – Jake

+0

Ah hai ragione. Ho letto male la domanda. – Mark

+0

Hmm, apparentemente ocunit2junit supporta anche XCTest adesso? http://stackoverflow.com/a/23256836/797767 – Mark

1

È necessario aggiungere una fase di generazione dello script della shell.

Prima aggiungere la gemma ocunit2junit al sistema di compilazione:

sudo gem install ocunit2junit 

quindi aggiungere lo script di shell fase di costruzione e assicurarsi che sei nella directory del progetto quando si esegue lo script:

xcodebuild -workspace yourWorkSpace.xcworkspace -scheme YourTestsScheme -configuration Debug clean test 2>&1 | ocunit2junit 

Quindi assicurarsi di aggiungere i risultati del test di pubblicazione JUnit dopo l'azione di compilazione al lavoro Jenkins configurato per trovare l'output per ocunit2junit: **/test-reports/*. Xml

0

per io non funziona. anche nella pagina di benvenuto di Github del progetto XCTest non è menzionato per essere supportato. Così sembra che questo non è supportato

3

due opzioni:

1) pipe l'output xcodebuild in xcpretty e utilizzare la loro formattatore Junit. Quindi Jenkins può pubblicarlo.

B) utilizzare xctool invece di xcodebuild. Xctool ha creato reporter Junit che puoi specificare per i test.

Abbiamo fatto entrambi e entrambi funzionano bene su Jenkins.

+0

@piiluke non sono in grado di avviare il simulatore utilizzando jenkins. Come hai fatto ? –

+0

@HarishGupta command line xcodebuild ha tutto il necessario per eseguire i test. Se si desidera avviare il simulatore stesso (senza alcun contesto) per qualche motivo, basta eseguire l'app utilizzando uno script di shell o AppleScript. – plluke

+0

Grazie per la risposta !! I miei casi di test sono casi di test dell'interfaccia utente che richiedevano il funzionamento del simulatore.Quindi, quando jenkins esegue il test case, deve prima avviare il simulatore. –