El esquema del proyecto Xcode no está configurado actualmente para la acción de prueba

82

Estoy intentando ejecutar una prueba unitaria de Xcode para mi aplicación iOS. Estoy dispuesto a hacerlo en un iPad conectado a través de USB a una Mac. Estoy tratando de ejecutar la prueba desde la línea de comando para activarla desde Jenkins más adelante.

A continuación se muestra lo que estoy escribiendo actualmente en la línea de comando y el error que recibo. Por favor ayuda.

El código:

xcodebuild test -scheme MyApplication -destination "platform=iOS,name=iPad"

El error:

Scheme MyApplication no está configurado actualmente para la acción de prueba

danR
fuente
Parece que no es un problema relacionado con jenkins, ya que aún no está utilizando jenkins. Le sugiero que elimine la etiqueta jenkins. Y busque preguntas similares aquí para ver si ayudan o no. stackoverflow.com/questions/20237064/… stackoverflow.com/questions/25970396/…
mainframer
Gracias por la sugerencia. Ya me encontré con ese ejemplo. Parece que no está directamente relacionado con mi problema. En mi caso, probablemente tenga que ver con el intercambio de esquemas. Tengo algunos esquemas en mi proyecto de Xcode, intenté compartir / dejar de compartir, eliminar y recrearlos de diferentes maneras, todavía no
tuve

Respuestas:

199

Para mí, el problema fue que no se agregaron pruebas a mi esquema:

Editor de esquemas

Al agregar paquetes de prueba a mi esquema a través del botón '+', el esquema podría ser construido por Xcode y xcodebuild.

David Hunt
fuente
3
También hará esto si está intentando ejecutarlos desde la consola mientras tiene el proyecto abierto.
Fui robado el
¡@iwasrobbed me salvó el día! esta podría ser una de las respuestas en lugar de un comentario
anoo_radha
He añadido el esquema de prueba, pero no se marcó "Prueba". Comprobando que funcionó,
drees
¿Cómo abrir ese menú?
Bogdan Bogdanov
@BogdanBogdanov En la esquina superior izquierda de Xcode justo a la derecha del botón 'Detener', haga clic en su esquema y luego haga clic en 'Editar esquema ...'.
David Hunt
33

Para todos los que luchan con este problema.

Mi solución fue:

  1. Seleccionar objetivo de prueba
  2. Administrar esquema
  3. Seleccione Ejecutar en el menú de la izquierda.
  4. Seleccione Información en la pestaña
  5. Elija Ejecutable Target en el menú desplegable
  6. Presiona Cerrar .
dan
fuente
18

Se corrigió esto eliminando esquemas duplicados de Xcode. Los esquemas se pueden agregar / eliminar / compartir / editar en Xcode a través de Producto -> Esquema -> Administrar esquemas .

danR
fuente
2
¡Gracias! Esta fue la pista que necesitaba, y mencionaré un escenario más sutil que me golpeó: un segundo esquema, del mismo nombre, pero incrustado en un proyecto dependiente. Parece que esto también descarta a xcodebuild, ya que podría favorecer el esquema heredado de un proyecto dependiente.
danielpunkass
2
Para comprobar si hay esquemas duplicados, ejecute: xcodebuild -workspace path/to/workspace/file -listo xcodebuild -project path/to/project/file -list. Los esquemas duplicados pueden ser restos de versiones anteriores del espacio de trabajo, por lo que un simple git cleanpuede ser todo lo que necesita.
Ohad Schneider
3
  • Debe verificar los datos de su espacio de trabajo en Jenkins y ver qué * .xctest ya está cargado. Luego, debe cambiar el nombre de su objetivo de prueba de UI / Unidad a esos datos * .xctest en su proyecto xcode como lo que tiene en Jenkins y luego presionar nuevamente.
  • O elimine su espacio de trabajo de Jenkins y vuelva a enviar todos los datos con un nuevo objetivo de prueba de UI / Unidad.

(Por supuesto, debe asegurarse de haber realizado un esquema para el proyecto).

MiladTai
fuente
1

Siga los siguientes pasos para resolver este error.

  1. Seleccione su esquema de proyecto en la parte superior.
  2. Haga clic en Administrar esquemas .
  3. Seleccione su objetivo de prueba en la ventana emergente.
  4. Asegúrese de hacer clic en el botón Editar en la parte inferior izquierda de la ventana emergente.
  5. Seleccione Construir .
  6. Haga clic en la casilla de verificación debajo de " Ejecutar "
  7. Cierra la ventana emergente.
Tarun Punhani
fuente
0

Mi problema fue que el Tests.swiftarchivo estaba importando un módulo que ya no existía (cambié el nombre de Targets para el proyecto). Verifique para asegurarse de que todos los archivos de prueba estén importando módulos existentes actualmente.

KVISH
fuente
-1

Su plan de prueba debe tener al menos una configuración personalizada.

Aleksey Tsyss
fuente