2017-06-08 61 views
6

Buduję projekt Android Studio/Gradle na serwerze TeamCity. Jestem trochę nowy w TeamCity. Obecnie testy jednostkowe generowane automatycznie przez Android Studio są uruchamiane automatycznie, gdy projekt jest zbudowany na TeamCity i są wyświetlane w "Testach". Posiadam również test instrumentalny (test działający na podłączonym urządzeniu z Androidem), ale nie jest on uruchamiany automatycznie, tak jak robią to testy jednostkowe.Android: przeprowadzanie testów instrumentalnych na serwerze TeamCity

Moim rozwiązaniem było dodanie kroku budowania Gradle w TeamCity, aby uruchomić test oprzyrządowania. Do tej pory nie miałem wielkiego sukcesu. Użyłem zadań gradle uninstallAll connectedAndroidTest, który uruchamia test oprzyrządowania, ale wynik testu nie pojawia się w "Testach" wraz z testami jednostkowymi. Jeśli test instrumentalny nie powiedzie się, kompilacja nie powiedzie się, ale test zakończony niepowodzeniem nadal nie pojawia się w "testach".

Co robię źle? Czy istnieje poprawny sposób przeprowadzania testowanych testów na TeamCity?

Odpowiedz

0

Możesz dostosować zadania testowego:

test.dependsOn uninstallAll, connectedAndroidTest

Innym sposobem byłoby to test (choć nie wiem, czy to będzie działać jak nie jestem pewien, co uninstallAll i connectedAndroidTest zadania robią): test {include 'org/foo/**'}

0

connectedAndroidTest wyświetli pliki określające wyniki badań według tego wzoru:

Pliki wyników testów HTML: ścieżka_do_twoj_projektu/nazwa_modułu/build/outputs/reports/androidTests/connected/ katalogu. Pliki wyników testu XML: ścieżka_do_twoj_projektu/nazwa_modułu/build/outputs/androidTest-results/connected/directory. (od here)

Korzystanie że plik wyjściowy można użyć XML Report Processing cechę TeamCity. W konfiguracji budowania przejdź do karty Funkcje konstrukcyjne i dodaj funkcję przetwarzania raportów XML. Użyj opcji Testuj Google i skierować go do katalogu wyjściowego raportu tak: Adding XML report processing build feature

Po tym powinieneś zobaczyć oprzyrządowane Wyniki testu pojawiają się w twojej buduje tak jak zwykłe testy JUnit:

build results including tests