Este guia descreve como preparar um XCTest para teste no Firebase Test Lab.
Etapa 1 : configurar o local dos dados derivados do seu projeto
O Xcode coloca artefatos iOS compilados, incluindo quaisquer testes que você cria, em um diretório de Dados Derivados. É possível manter o local padrão para esse diretório, se desejar, mas geralmente é útil escolher um local mais facilmente acessível para os arquivos, especialmente se você executar testes com o Test Lab com frequência:
- Abra seu projeto no Xcode.
- Na barra de menus do macOS, selecione Arquivo > Configurações do projeto...
- Altere o menu suspenso Dados derivados de Local padrão para Local personalizado .
- No campo abaixo do menu suspenso, selecione um local para o Xcode enviar seus testes. (Este é o seu FOLDER_WITH_TEST_OUTPUT )
Etapa 2 : Crie um arquivo de teste genérico
O Test Lab executa testes de unidade e testes de UI usando a estrutura XCTest . Para executar os XCTests do seu aplicativo em dispositivos Test Lab, crie-o para teste em um dispositivo iOS genérico:
- No menu suspenso do dispositivo na parte superior da janela do espaço de trabalho do Xcode, selecione Dispositivo iOS genérico .
- Na barra de menus do macOS, selecione Produto > Construir para > Teste .
Como alternativa, você pode construir seu XCTest a partir da linha de comando. Use o seguinte comando em um terminal:
projeto
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
área de trabalho
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
Etapa 3 : assine seu teste e verifique
Certifique-se de que todos os artefatos no aplicativo e no teste estejam assinados. Por exemplo, você pode fazer isso por meio do Xcode especificando configurações de assinatura, como perfil de provisionamento e identidade. Para obter mais informações, consulte Assinatura de código Apple .
Verifique a assinatura do aplicativo executando
codesign --verify --deep --verbose /path/to/MyApp.app
onde "MyApp" é o nome do aplicativo dentro da pasta descompactada. Isso varia para cada projeto. A saída esperada éMyApp.app: valid on disk
.Se você estiver executando um XCUITest, precisará verificar o teste e o executor executando
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
onde "MyTest" é o nome do executor dentro do pasta descompactada. Isso varia para cada projeto. A saída esperada éMyTest-Runner.app: valid on disk
.
Etapa 4 : empacotar seu aplicativo e testar o upload
Depois que seu teste for compilado com sucesso, compacte-o para carregá-lo no Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Você também pode empacotar seu teste compactando os arquivos de teste manualmente:
Abra o Finder e navegue até
FOLDER_WITH_TEST_OUTPUT
.Abra a pasta que tem o nome do seu projeto como prefixo e navegue até a pasta
Build/Products
dentro dela.Selecione as pastas
Debug-iphoneos
eYOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun
e compacte-as.
Etapa 5 : (opcional) execute seu teste localmente
Antes de executar seu teste com o Test Lab, você pode executá-lo localmente com um dispositivo conectado por USB para verificar a qualidade de seu comportamento:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Próximos passos
Faça upload e execute seu teste no console do Firebase ou na CLI gcloud .