Como posso obter o Xcode 5 para executar testes de unidade do iOS em um escravo Jenkins?

Estamos usando o Jenkins com o plugin Xcode para executar a integração contínua de nossos aplicativos iOS, incluindo a execução automática e a geração de relatórios dos testes de unidade. Isso funcionou bem usando Jenkins em uma máquina Linux e um escravo Mac rodando o Xcode 4.6.3.

Agora, estamos procurando atualizar a configuração para o Xcode 5 para dar suporte ao iOS 7 e ter os seguintes problemas.

Primeiro, os testes de unidade não seriam executados porque estávamos usando o script RunUnitTests do Xcode 4, que não é mais suportado no Xcode 5. Eu resolvi isso, conforme recomendado pelo Xcode, configurando o espaço de trabalho com um esquema apropriado com a unidade. alvo de teste.

Em seguida, configurei a etapa Xcode da tarefa Jenkins com argumentos xcodebuild personalizados definidos comotest -destination platform=${DESTINATION_PLATFORM},name=${DESTINATION_NAME},OS=${DESTINATION_OS} para fazê-lo executar os testes unitários.

Se eu executar a linha de comando xcodebuild que o plugin Xcode para Jenkins executa no Terminal em minha própria máquina, os testes de unidade são executados, mas quando a tarefa Jenkins é executada, ela falha ou trava ao tentar executar os testes de unidade.

Suspeito que isso ocorra porque, com o Xcode 5 e o buildaction de teste em vez do script RunUnitTests, testes de unidade agora são executados no iOS Simulator, que requer uma sessão interativa, e o processo escravo Jenkins está sendo executado no SSH do mestre Jenkins (Linux). Se eu estiver conectado à máquina escrava com a conta que o Jenkins usa para SSH, posso ver que o Simulador do iOS é iniciado quando os testes de unidade devem ser executados, mas os testes não parecem ser executados e a tarefa é interrompida. Se eu não estiver conectado à máquina escrava, o trabalho do Jenkins não executará os testes da unidade.

Existe alguma maneira de fazer com que os testes de unidade do iOS sejam executados em um escravo do Jenkins por SSH e, caso contrário, alguma sugestão sobre como continuar automatizando a execução dos testes de unidade quando o projeto deve ser construído com o Xcode 5?

questionAnswers(4)

yourAnswerToTheQuestion