Z tego przewodnika dowiesz się, jak przygotować test XC do testowania w Firebase Test Lab.
Krok 1. Skonfiguruj lokalizację danych pochodnych projektu
Xcode umieszcza skompilowane artefakty iOS, w tym wszystkie testy, w katalogu DerivedData. Jeśli chcesz, możesz zachować domyślną lokalizację tego katalogu, ale często warto wybrać bardziej dostępne miejsce na pliki, zwłaszcza jeśli często będziesz uruchamiać testy z użyciem Test Lab:
- Otwórz projekt w Xcode.
- Na pasku menu macOS kliknij Plik > Ustawienia projektu….
- Zmień menu Pochodne dane z Lokalizacja domyślna na Lokalizacja niestandardowa.
- W polu pod menu wybierz lokalizację, w której Xcode ma zapisywać wyniki testów. (To Twój FOLDER_WITH_TEST_OUTPUT)
Krok 2. Utwórz ogólny plik testowy
Test Lab przeprowadza testy jednostkowe i testy interfejsu za pomocą platformy XCTest. Aby uruchomić XCTests aplikacji na urządzeniach Test Lab, skompiluj ją na potrzeby testowania na: Typowym urządzeniu z iOS:
- W menu urządzenia u góry okna obszaru roboczego Xcode wybierz Typowe urządzenie z iOS.
- W pasku menu macOS kliknij Produkt > Kompiluj dla > Testowanie.
Możesz też utworzyć XCTest z poziomu wiersza poleceń. Użyj tego polecenia w terminalu:
projekt
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
obszar roboczy
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
Krok 3. Podpisz test i sprawdź jego poprawność
Upewnij się, że wszystkie elementy w aplikacji i teście są podpisane. Możesz to zrobić w Xcode, określając ustawienia podpisywania, takie jak profil zaopatrzenia i tożsamość. Więcej informacji znajdziesz w artykule Apple Code Signing.
Aby zweryfikować podpis aplikacji, uruchom polecenie
codesign --verify --deep --verbose /path/to/MyApp.app
, gdzie „MyApp” to nazwa aplikacji w rozpakowanym folderze. To zależy od projektu. Oczekiwany wynik toMyApp.app: valid on disk
.Jeśli uruchamiasz test XCUI, musisz zweryfikować test i program do jego uruchamiania, wykonując polecenie
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
, gdzie „MyTest” to nazwa programu do uruchamiania w rozpakowanym folderze. To zależy od projektu. Oczekiwany wynik toMyTest-Runner.app: valid on disk
.
Krok 4. Spakuj aplikację i przetestuj jej przesłanie
Po pomyślnym utworzeniu testu skompresuj go i prześlij do Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Możesz też spakować test, ręcznie kompresując pliki testowe:
Otwórz Findera i przejdź do folderu
FOLDER_WITH_TEST_OUTPUT
.Otwórz folder, który ma nazwę projektu jako prefiks, a potem przejdź do folderu
Build/Products
.Wybierz foldery
Debug-iphoneos
iYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
, a następnie je skompresuj.
Krok 5. (Opcjonalnie) Przeprowadź test lokalnie
Zanim uruchomisz test z użyciem Test Lab, możesz go przeprowadzić lokalnie na urządzeniu połączonym z urządzeniem USB, aby sprawdzić jego działanie:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Dalsze kroki
Prześlij test i uruchom go w konsoli Firebase lub w interfejsie wiersza poleceń gcloud.