2011-08-08 16 views
6

Parece que tengo todo configurado correctamente. Cuando ejecuto command-u (o pick product - test from menu) la prueba funciona bien.¿Cómo ejecutar pruebas lógicas de OCUnit automáticamente antes de cada compilación (ejecución) de la aplicación ios en xcode 4?

Las mejores prácticas deben ser que esa prueba se ejecute con la mayor frecuencia posible, idealmente durante cada compilación (comprenda cada ejecución).

¿Cómo forzar a XCode 4 a hacerlo? He tratado de:

  • dependencia objetivo de configuración (puso objetivo principal aplicación a depender de destino de la prueba)
  • permiten "prueba después de la acumulación" en la configuración principal objetivo build aplicación
  • garrapata también blanco de prueba en el esquema editor para ejecutar el esquema de aplicación principal

pero nada parece funcionar. ¿Alguien tiene éxito configurando esto?

+0

¿Es necesario ejecutar las pruebas unitarias antes de cada compilación? Si establece la configuración de la construcción Prueba después de compilación en Sí y elige Producto> Compilar para> Compilar para prueba, Xcode crea el proyecto y ejecuta las pruebas. –

+0

sí. Pero esto es lo mismo que tengo ahora, solo cuando presiono command-u y las pruebas se ejecutan. Pero estoy aburrido de presionar esto a menudo. Y a menudo me olvido. Y a veces sucede, que debo profundizar en el código y encontrar un error. Que podría haber sido atrapado de inmediato, si corrí las pruebas con cada compilación. Y también es una buena práctica: ejecutar la prueba automáticamente durante cada compilación (me refiero a "compilar" cada vez que quiero ejecutar la aplicación) –

Respuesta

10

Finalmente lo descubrió, aunque todavía no es perfecto:

  1. En su objetivo de la prueba Asegúrese de conjunto "prueba después de la acumulación" para sí.
  2. En su esquema de aplicación principal - compilar - debajo de "ejecutar" marque también paquete de prueba.

Esto hace que su objetivo de prueba se genere al ejecutar la aplicación. Gracias a "Test after build" también se ejecutan las pruebas. Si todo está bien, la aplicación comienza en sim. Si hay alguna prueba que falla, se produce un bloqueo, si usa STAssert. En el caso de OCMock, puede verificar qué fue exactamente lo que falló en el inspector de registros.

A veces los puntos de interrupción no funcionan. Para que funcionen, prueba el producto, realiza una acción, prueba sin construir.

Cuestiones relacionadas