2013-10-09 12 views
9

Ist es möglich, Jenkins mit XCTest zu verwenden?Kann ich Jenkins und XCTest integrieren

Es gibt ein Ruby-Skript (OCUnit2JUnit - https://github.com/ciryon/OCUnit2JUnit), das die OCUnit-Ausgabe analysiert und XML-Dateien erstellt, die Jenkins parsen kann.

Gibt es etwas, das dem neuen XCTest-Ausgang entspricht?

Derzeit ist die kontinuierliche Integration von Apple keine Möglichkeit.

+4

XCTool hat XCTest Unterstützung und eine ausgezeichnete Geschichte in Bezug auf Jenkins Integration. – CodaFi

Antwort

-1

Dies ist, was ich auf meinem Jenkins Projekt ausführen, nachdem auf meiner Maschine zu bauen Installation ocunit2junit:

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

ich dann einen JUnit-Testergebnis Bericht als Beitrag Build Aktion Veröffentlichen hinzugefügt. War anfangs etwas flockig (ich habe nur die XML-Dateien erstellt, als es keine Post-Build-Aktion gab), aber nachdem ich den Build direkt auf meinem Build-Rechner gestartet habe, funktioniert es.

+0

Danke für die Aktie, aber das beantwortet die Frage überhaupt nicht ... – Jake

+0

Ah du hast Recht. Ich habe die Frage falsch gelesen. – Mark

+0

Hmm, anscheinend unterstützt ocunit2junit auch XCTest jetzt? http://Stackoverflow.com/a/23256836/797767 – Mark

1

Sie müssen eine Shell-Skript-Build-Phase hinzufügen.

zuerst das ocunit2junit Juwel der Build-Maschine hinzufügen:

sudo gem install ocunit2junit 

Dann fügen Sie den Build-Phase Shell-Skript und stellen Sie sicher, dass Sie in dem Projektverzeichnis sind, wenn Sie das Skript ausführen:

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

Stellen Sie dann sicher, dass Sie die Publish JUnit-Testergebnisse nach dem Build-Vorgang dem Jenkins-Job hinzufügen, der für die Ausgabe von ocunit2junit konfiguriert wurde: **/test-reports/*. Xml

0

für mir geht es nicht. auch auf der Github-Begrüßungsseite des Projekts XCTest wird nicht erwähnt, um unterstützt zu werden. So scheint es, dass diese nicht

unterstützt wird
3

zwei Optionen:

1) Rohr Ihre xcodebuild Ausgabe in xcpretty und nutzen ihre Junit Formatierer. Dann kann Jenkins das veröffentlichen.

B) Verwenden Sie xctool anstelle von xcodebuild. Xctool hat Junit-Reporter eingebaut, die Sie für Tests angeben können.

Wir haben beides gemacht und beide funktionieren gut mit Jenkins.

+0

@piiluke Ich bin nicht in der Lage, den Simulator mit Jenkins starten. Wie hast du das gemacht ? –

+0

@ HarishGupta Kommandozeile xcodebuild hat alles, was Sie brauchen, um Tests durchzuführen. Wenn Sie nur aus irgendeinem Grund den Simulator selbst (ohne Kontext) starten möchten, führen Sie die App entweder mit einem Shell-Skript oder mit AppleScript aus. – plluke

+0

Danke für die Antwort !! Meine Testfälle sind ein UI-Testfall, bei dem der Simulator ausgeführt werden musste.Wenn also jenkins den Testfall ausführt, muss er zuerst den Simulator starten. –