Ejecutar una prueba XCT

Esta guía describe cómo preparar un XCTest para realizar pruebas en Firebase Test Lab.

Paso 1 : Configura la ubicación de los datos derivados de tu proyecto

Xcode coloca los artefactos de iOS compilados, incluidas las pruebas que cree, en un directorio de datos derivados. Es posible mantener la ubicación predeterminada para ese directorio, si lo desea, pero a menudo es útil elegir un lugar de más fácil acceso para los archivos, especialmente si va a ejecutar pruebas con Test Lab con frecuencia:

  1. Abra su proyecto en Xcode.
  2. En la barra de menú de macOS, seleccione Archivo > Configuración del proyecto...
  3. Cambie el menú desplegable Datos derivados de Ubicación predeterminada a Ubicación personalizada .
  4. En el campo debajo del menú desplegable, seleccione una ubicación para que Xcode envíe sus pruebas. (Esta es tu FOLDER_WITH_TEST_OUTPUT )

Paso 2 : cree un archivo de prueba genérico

Test Lab ejecuta pruebas unitarias y pruebas de interfaz de usuario utilizando el marco XCTest . Para ejecutar XCTests de su aplicación en dispositivos Test Lab, compílela para probarla en un dispositivo iOS genérico:

  1. En el menú desplegable de dispositivos en la parte superior de la ventana del espacio de trabajo de Xcode, seleccione Dispositivo iOS genérico .
  2. En la barra de menú de macOS, seleccione Producto > Construir para > Pruebas .

Como alternativa, puede crear su XCTest desde la línea de comando. Utilice el siguiente comando en una terminal:

proyecto

xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \
   -scheme YOUR_SCHEME \
   -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
   -sdk iphoneos build-for-testing

espacio de trabajo

xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \
   -scheme YOUR_SCHEME \
   -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
   -sdk iphoneos build-for-testing

Paso 3 : Firme su prueba y verifique

  1. Asegúrese de que todos los artefactos de la aplicación y la prueba estén firmados. Por ejemplo, puede hacer esto a través de Xcode especificando configuraciones de firma como perfil e identidad de aprovisionamiento. Para obtener más información, consulte Firma de código de Apple .

  2. Verifique la firma de la aplicación ejecutando codesign --verify --deep --verbose /path/to/MyApp.app donde "MyApp" es el nombre de la aplicación dentro de la carpeta descomprimida. Esto varía para cada proyecto. El resultado esperado es MyApp.app: valid on disk .

  3. Si está ejecutando un XCUITest, entonces necesita verificar la prueba y el corredor ejecutando codesign --verify --deep --verbose /path/to/MyTest-Runner.app donde "MyTest" es el nombre del corredor dentro del carpeta descomprimida. Esto varía para cada proyecto. El resultado esperado es MyTest-Runner.app: valid on disk .

Paso 4 : empaquete su aplicación y pruebe para cargarla

  1. Después de que su prueba se haya compilado correctamente, comprímala para cargarla en Test Lab:

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
    zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
    

También puedes empaquetar tu prueba comprimiendo los archivos de prueba manualmente:

  1. Abra Finder y navegue hasta FOLDER_WITH_TEST_OUTPUT .

  2. Abra la carpeta que tiene el nombre de su proyecto como prefijo, luego navegue hasta la carpeta Build/Products que se encuentra dentro.

  3. Seleccione las carpetas Debug-iphoneos y YOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun y luego comprímalas.

Paso 5 : (Opcional) Ejecute su prueba localmente

Antes de ejecutar su prueba con Test Lab, puede ejecutarla localmente con un dispositivo conectado por USB para verificar la calidad de su comportamiento:

xcodebuild test-without-building \
    -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
    -destination id=your-phone-id

Próximos pasos

Carga y ejecuta tu prueba en Firebase console o gcloud CLI .