W jaki sposób mogę uzyskać Xcode 5 do uruchamiania testów jednostkowych systemu iOS na niewolniku Jenkins?

Używamy Jenkinsa z wtyczką Xcode do ciągłej integracji naszych aplikacji iOS, w tym automatycznego wykonywania i raportowania testów jednostkowych. To działało dobrze przy użyciu Jenkins na maszynie z Linuksem i podrzędnym komputerze Mac z Xcode 4.6.3.

Teraz staramy się zaktualizować konfigurację do Xcode 5, aby umożliwić kierowanie na iOS 7 i napotkaliśmy następujące problemy.

Po pierwsze, testy jednostkowe nie byłyby w ogóle uruchamiane, ponieważ używaliśmy skryptu RunUnitTests z Xcode 4, który nie jest już obsługiwany w Xcode 5. Zaadresowałem to, jak zaleca Xcode, ustawiając obszar roboczy z odpowiednim schematem z urządzeniem cel testowy.

Następnie skonfigurowałem krok Xcode zadania Jenkins z niestandardowymi argumentami xcodebuild ustawionymi natest -destination platform=${DESTINATION_PLATFORM},name=${DESTINATION_NAME},OS=${DESTINATION_OS} aby go uruchomić, aby uruchomić testy jednostkowe.

Jeśli uruchomię wiersz poleceń xcodebuild, że wtyczka Xcode dla Jenkinsa działa w Terminalu na mojej własnej maszynie, testy jednostkowe są uruchamiane, ale gdy zadanie Jenkins działa, albo kończy się niepowodzeniem, albo zawiesza się przy próbie uruchomienia testów jednostkowych.

Podejrzewam, że dzieje się tak, ponieważ Xcode 5 i test buildaction zamiast RunUnitTests, testy jednostkowe są teraz uruchamiane w symulatorze iOS, który wymaga interaktywnej sesji, a proces Jenkins slave jest uruchamiany przez SSH z Jenkins master (Linux). Jeśli jestem zalogowany do maszyny podrzędnej z kontem używanym przez Jenkinsa do SSH, widzę, że Symulator iOS uruchamia się, gdy testy jednostkowe mają być uruchomione, ale testy nie wydają się działać i zadanie zawiesza się. Jeśli nie jestem zalogowany do maszyny slave, zadanie Jenkinsa nie uruchamia testów jednostkowych.

Czy jest jakiś sposób, aby uruchomić testy na jednostce iOS na slave Jenkins nad SSH, a jeśli nie, wszelkie sugestie, w jaki sposób zautomatyzować wykonywanie testów jednostkowych, gdy projekt musi być zbudowany z Xcode 5?

questionAnswers(4)

yourAnswerToTheQuestion