2012-04-03 11 views
17

Ich habe mehrere Post in Bezug auf die Erstellung eines Build in Jenkins scheitern gesehen, wenn die Einheit Testausführung fehlschlagen (z. B. diese one). Es stellt sich heraus, dass Jenkins standardmäßig Builds mit fehlgeschlagenen Tests als unstable meldet und einige Leute das nicht mögen. Dies wird mir aber völlig in Ordnung sein. Ich möchte einfach Builds mit bestandenen Tests von solchen mit versagenden Tests unterscheiden können.Machen Sie Android jenkins bauen scheitern, wenn Tests fehlschlagen

Und hier ist der Haken: Ich entwickle für Android so mein Build ist nach this page konfiguriert. Grundsätzlich sind die Tests mit dem folgenden Befehl:

ant all clean emma debug install test 

Als Ergebnis Berichterstattung Bericht wird generiert und in Jenkins veröffentlicht.

Alle Posts, die ich gelesen habe, über die Konfiguration des Jenkins-Ergebnisses gemäß den Testergebnissen wurden mit ant-Task-Manipulation beschäftigen. Wenn wir jedoch den Android build.xml betrachten, werden die Android-Tests mit dem adb-Befehl ausgeführt: adb shell am instrument .... Ich weiß nicht, wie ich diesen Befehl zum Drucken der Testergebnisse konfigurieren soll. Es kann so konfiguriert werden, dass der Abdeckungsbericht gedruckt wird. Ich habe das schon gemacht, konnte aber den Build nach dem Coverage-Bericht nie zum Scheitern bringen.

Ich hoffe, dass jemand anderes auch das gleiche Problem konfrontiert und es geschafft hat, es zu lösen. Jede Anleitung wird sehr geschätzt.

+0

Wäre [dies hilfreich] (http://code.google.com/p/the-missing-android-xml-junit-test-runner/)? Die Idee ist, Junit-Berichte zu produzieren, die Jenkins versteht. –

+0

@malenkiy_scot Danke für diesen Kommentar. Dies könnte funktionieren. Ich werde es in den nächsten Tagen ausprobieren. –

+0

@malenkiy_scot Bitte poste deinen Kommentar als Antwort. Ich möchte dir die Belohnung geben. Mein Problem ist noch nicht gelöst, aber das ist zumindest eine gute Richtung. –

Antwort

2

Dies ist möglich, die Konfiguration des Servers die folgende Dokumentation mit:

https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin

Siehe "Parsing Affe Ausgang" in der Verbindung.

Zusätzlich kann Jenkins Instrumentierung testen, einen Link unten von einem guten Platz hat in den Lern ​​der Instrumentierung zu starten:

http://developer.android.com/resources/tutorials/testing/helloandroid_test.html

Ich hoffe, es ist nützlich.

screenshot of my project jenkins

+0

"http://developer.android.com/resources/tutorials/testing/helloandroid_test.html" ist jetzt gebrochen – Gallal

+0

versuchen Sie dies: http://developer.android.com/training/testing.html –

2

Betrachten 'the-missing-android-xml-junit-test-runner' mit - die Idee jUnit produzieren zu berichtet, dass Jenkins versteht. Haftungsausschluss: Ich habe keine persönlichen Erfahrungen mit adb. Allerdings weiß ich aus Erfahrung, dass Jenkins sehr korrekt mit korrekt generierten jUnit-Berichten umgeht.

Verwandte Themen