2012-04-03 11 views
17

Widziałem kilka postów dotyczących kompilacji w systemie Jenkins, jeśli nie powiedzie się wykonanie testu jednostki (na przykład: one). Okazuje się, że domyślnie raporty Jenkinsa kompilują się z błędnymi testami jako unstable, a niektórym się to nie podoba. To jednak będzie dla mnie zupełnie w porządku. Po prostu chcę móc łatwo rozróżniać kompilacje, przechodząc testy od takich z nieudanymi testami.Ulepszanie kompilacji systemu Android jenkins, jeśli testy zakończą się niepowodzeniem

I tu jest haczyk: Pracuję dla Androida, więc moja kompilacja jest skonfigurowana po this page. Zasadniczo testy są uruchamiane za pomocą następującej komendy:

ant all clean emma debug install test 

W raporcie pokrycia wynik jest generowany i publikowany w Jenkins.

Wszystkie posty, które czytałem o konfigurowaniu wyniku Jenkinsa według wyników testów zajmowały się manipulacją mrówkami. Jednakże, jeśli spojrzymy na androida build.xml, testy Androida są uruchamiane za pomocą polecenia adb: adb shell am instrument .... Nie wiem jak skonfigurować tę komendę, aby wydrukować wyniki testów. Można go skonfigurować do drukowania raportu o zasięgu. Już to zrobiłem, ale nigdy nie udało mi się sprawić, by kompozycja zawiodła zgodnie z raportem zasięgu.

Mam nadzieję, że ktoś inny również stanął w obliczu tego samego problemu i zdołał go rozwiązać. Wszelkie wskazówki będą najbardziej cenione.

+0

Czy [to byłoby pomocne] (http://code.google.com/p/the-missing-android-xml-junit-test-runner/)? Chodzi o to, aby produkować raporty na temat junitów, które rozumie Jenkins. –

+0

@malenkiy_scot Dziękuję za ten komentarz. To może zadziałać. Wypróbuję to w następnych dniach. –

+0

@malenkiy_scot Proszę zaksięgować komentarz jako odpowiedź. Chcę ci dać nagrodę. Mój problem nie został jeszcze rozwiązany, ale jest to przynajmniej dobry kierunek. –

Odpowiedz

2

Jest to możliwe, należy skonfigurować serwer stosując następującą dokumentację:

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

Patrz „Analizowanie wyjście małpa” w linku.

Dodawanie Jenkins może testować oprzyrządowanie, poniżej masz link do dobre miejsce do rozpoczęcia nauki w instrumentacji:

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

Mam nadzieję, że jest to przydatne.

screenshot of my project jenkins

+0

"http://developer.android.com/resources/tutorials/testing/helloandroid_test.html" jest teraz uszkodzony – Gallal

+0

wypróbuj to: http://developer.android.com/training/testing.html –

2

Rozważ użycie 'the-missing-android-xml-junit-test-runner' - idea bycia produkować JUnit informuje, że Jenkins rozumie. Zastrzeżenie: Nie mam osobistego doświadczenia z adb. Z doświadczenia wiem jednak, że Jenkins radzi sobie z odpowiednio wygenerowanymi raportami jUnit bardzo wdzięcznie.