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:
- Abra su proyecto en Xcode.
- En la barra de menú de macOS, seleccione Archivo > Configuración del proyecto...
- Cambie el menú desplegable Datos derivados de Ubicación predeterminada a Ubicación personalizada .
- 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:
- En el menú desplegable de dispositivos en la parte superior de la ventana del espacio de trabajo de Xcode, seleccione Dispositivo iOS genérico .
- 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
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 .
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 esMyApp.app: valid on disk
.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 esMyTest-Runner.app: valid on disk
.
Paso 4 : empaquete su aplicación y pruebe para cargarla
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:
Abra Finder y navegue hasta
FOLDER_WITH_TEST_OUTPUT
.Abra la carpeta que tiene el nombre de su proyecto como prefijo, luego navegue hasta la carpeta
Build/Products
que se encuentra dentro.Seleccione las carpetas
Debug-iphoneos
yYOUR_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 .