¿Cómo puedo obtener Xcode 5 para ejecutar pruebas de unidad iOS en un esclavo Jenkins?

Hemos estado utilizando Jenkins con el complemento Xcode para ejecutar la integración continua de nuestras aplicaciones de iOS, incluida la ejecución automática y el informe de las pruebas de la unidad. Esto funcionó bien utilizando Jenkins en una máquina Linux y un esclavo Mac que ejecuta Xcode 4.6.3.

Ahora estamos buscando actualizar la configuración de Xcode 5 para que sea compatible con iOS 7 y se hayan encontrado con los siguientes problemas.

Primero, las pruebas unitarias no se ejecutarían en absoluto porque estábamos usando el script RunUnitTests de Xcode 4 que ya no se admite en Xcode 5. Traté esto, como lo recomendó Xcode, configurando el área de trabajo con un esquema apropiado con la unidad objetivo de prueba.

Luego configuré el paso Xcode del trabajo de Jenkins con los argumentos personalizados de xcodebuild establecidos entest -destination platform=${DESTINATION_PLATFORM},name=${DESTINATION_NAME},OS=${DESTINATION_OS} Para conseguirlo ejecutar las pruebas unitarias.

Si ejecuto la línea de comandos xcodebuild que ejecuta el complemento Xcode para Jenkins en la Terminal de mi propia máquina, las pruebas de la unidad se ejecutan, pero cuando se ejecuta el trabajo de Jenkins, falla o se bloquea cuando se intentan ejecutar las pruebas de la unidad.

Sospecho que esto se debe a que con Xcode 5 y la prueba de compilación en lugar del script RunUnitTests, las pruebas unitarias ahora se ejecutan en el simulador de iOS, que requiere una sesión interactiva, y el proceso esclavo Jenkins se ejecuta en SSH desde el maestro Jenkins (Linux). Si inicio sesión en la máquina esclava con la cuenta que Jenkins usa para SSH, puedo ver que el Simulador de iOS se inicia cuando se supone que se ejecutan las pruebas unitarias, pero no parece que se ejecuten las pruebas y el trabajo se cuelga. Si no estoy conectado a la máquina esclava, el trabajo de Jenkins no puede ejecutar las pruebas de la unidad.

¿Hay alguna manera de hacer que las pruebas unitarias de iOS se ejecuten en un esclavo Jenkins a través de SSH, y si no, alguna sugerencia sobre cómo seguir automatizando la ejecución de las pruebas unitarias cuando el proyecto debe construirse con Xcode 5?

Respuestas a la pregunta(4)

Su respuesta a la pregunta