unit tutorials tests test unit-testing xcode

unit testing - tutorials - ¿Cómo ejecutar un testcase único en XCode?



test swift (5)

Como ha señalado, el marco de prueba OCUnit marca los métodos cuyo nombre comienza con "prueba" como casos de prueba. Esto se hace en tiempo de ejecución

En la práctica, sus casos de prueba deberían ejecutarse tan rápido que no debería importar cuántos estén habilitados; su depurador debería poder detenerse dentro de su caso de prueba muy rápidamente después de presionar "Depurar".

Dicho esto, la forma más rápida de deshabilitar algunas pruebas es probablemente usar un bloque #if 0 / #endif. La función para deshabilitar los casos de prueba dinámicamente no existe en Xcode / OCUnit, ya que no hay ningún componente GUI.

En teoría, debería ser factible, ya que en tiempo de ejecución (y antes de que se ejecuten todas las pruebas) hay formas de acceder a la lista de pruebas en OCUnit, pero esto requiere modificaciones en el código fuente de OCUnit, lo cual no es deseable (se eliminará) la próxima actualización de Xcode, por ejemplo).

Finalmente, si esa característica es importante para usted, puede escribir fácilmente su propio arnés de prueba que en su mayoría replica lo que hace OCUnit. Luego puedes modificarlo al contenido de tu corazón, agregar IU, etc.

No es difícil, y un poco educativo. Aquí hay un buen enlace para empezar:

http://gusmueller.com/blog/archives/2009/10/how_to_write_your_own_automated_testing_framework.html

Sé que es una buena práctica ejecutar todos los testcases de la unidad después de cualquier cambio para asegurarse de no romper nada. Sin embargo, algunas veces, por ejemplo, la depuración, realmente quiero ejecutar un solo caso de prueba. Parece que XCode no proporciona dicha función en la interfaz de usuario, mientras que otro marco de pruebas como JUnit tiene dichas características.

¿Hay alguna solución para que solo se ejecute un testcase en XCode?

PD la mayoría de mis casos de prueba son pruebas lógicas. Por lo tanto, no se ejecutan en el dispositivo iPhone.


Estoy seguro de que nadie se perdió el lanzamiento de Xcode 5 y su capacidad para ejecutar fácilmente un solo caso de prueba, pero agregando esta respuesta solo para completar.

En Xcode 5 puede ejecutar un solo caso de prueba haciendo clic en el pequeño botón de reproducción que puede encontrar al lado de la prueba en el navegador de prueba o al lado del método de prueba en el editor. En ambos lugares aparece cuando te pasas el ratón sobre él.


También puede usar xctool desde la línea de comandos con el argumento --only , que solo ejecutará los testcase (s) especificados.


XCode 4 ahora tiene esta característica. Simplemente cree un "esquema de ejecución" que tenga los casos de prueba que desea ejecutar.

  1. Abrir menú Product|Edit Scheme...
  2. Haga clic en Edit...
  3. En el panel izquierdo, expanda la sección Test .
  4. En el panel derecho, expanda el paquete de prueba y desmarque los casos de prueba que no necesita ejecutar.

+ + + U

También puedes usar el atajo de teclado de Control-Option-Command-U

Experto tomado de la documentación de Apple

Producto> Realizar acción> Probar. Este elemento de menú dinámico detecta el método de prueba actual en el que el punto de inserción de edición se coloca cuando está editando un método de prueba y le permite ejecutar esa prueba con un método abreviado de teclado. El nombre del comando se adapta para mostrar la prueba que ejecutará, por ejemplo, Producto> Ejecutar acción> Prueba de adición de prueba. El atajo de teclado es Control-Option-Command-U.