una para gratis desde crear como cero app aplicaciones ios unit-testing xctest xcode-ui-testing

ios - para - como crear una app desde cero pdf



Ejecución de casos de prueba XCTest(UI, unidad) individuales para aplicaciones iOS desde la línea de comandos (4)

Ahora es posible con Xcode 8. Revisa este video:

https://developer.apple.com/videos/play/wwdc2016/409/

¿Es posible ejecutar casos de prueba individuales, o suites de prueba individuales, desde un objetivo de prueba de la aplicación iOS, en lugar de todos los casos de prueba, desde una interfaz de línea de comandos?

Puede ejecutar pruebas desde la línea de comandos con xcodebuild , fuera de la caja. Cuando lo hace, ejecuta todos los casos de prueba contenidos en el objetivo de prueba que ha seleccionado.

También puede hacerlo con el scan desde Fastlane, aunque creo que está restringido a ejecutar todas las pruebas del esquema de compilación que seleccionó (como arriba), por lo que no es diferente de xcodebuild.

Puede ejecutar pruebas específicas con xctool desde Facebook, pero no usa xcodebuild, y está restringido a ejecutarse solo en simuladores, no en dispositivos de prueba iOS reales.

Encontré una referencia para ejecutar la utilidad de línea de comandos xctest directamente, pero parece ser una característica no documentada y está dirigida a DerivedData. Esto se complica por el hecho de que las pruebas de UI tienen sus archivos * xctest en un paquete XCTRunner separado .


Estaba en una situación similar a la tuya y he creado un script en Python que activa el conjunto de casos de prueba que quiero. Es un proceso un poco elaborado pero funciona para mí y ha sido muy útil a lo largo del tiempo en la implementación de los métodos del Proveedor de datos, la repetición de casos de prueba fallidos y otras personalizaciones que requerí.

Algunos pasos relevantes para lo que quieres lograr.

  1. Reemplace el método testInvocations presente en XCTestCase para realizar los siguientes pasos
    • En este método leo Variable de entorno XXXX.
    • Esta variable de entorno es básicamente un nombre de método de caso de prueba separado por comas.
    • Ahora cree NSInvocations para cada método de prueba que desee activar.
    • Devolver matriz de invocaciones.
  2. ¿Cómo pasar la variable de entorno?
    • En el esquema agregar una variable de entorno llamada XXXX.
    • Los archivos de esquema son archivos xml estándar, escriba un script que modifique el archivo de esquema para que contenga los valores separados por comas en la variable de entorno.

Si necesita más información, añada un comentario, le responderé.


Para ejecutar una prueba individual o una clase de prueba, puede hacer clic en el diamante que se encuentra a su lado en la canaleta. Esto está justo al lado de donde aparecen los números de línea si los tiene activados.

En esta captura de pantalla, mi ratón está sobre el diamante. Observe cómo ha cambiado a una pequeña flecha de juego que indica que se ejecutará.

A continuación, puede volver a ejecutar las pruebas ejecutadas más recientemente con G.

Por lo que sé, esto no se puede hacer a través de xcodebuild .


Puede editar el esquema para ejecutar solo pruebas específicas. Seleccione el esquema, luego edite el esquema. En la ventana que aparece, seleccione la fase de prueba y deshabilite / habilite las pruebas individuales.

También puede agregar esquemas para ejecutar subconjuntos de pruebas. Al ejecutar las pruebas desde la línea de comandos, puede especificar el esquema que se usará para la prueba (al menos en fastlane).