Z tego przewodnika dowiesz się, jak przygotować XCTest do testowania w Firebase Test Lab
Krok 1. Skonfiguruj lokalizację projektu Derived Data
Xcode umieszcza skompilowane artefakty iOS, w tym wszystkie testy, w których Data Directory. Możesz zachować domyślną lokalizację katalogu, jeśli chcesz, ale często lepiej jest wybrać łatwiej dostępne miejsce. zwłaszcza jeśli zamierzasz przeprowadzać testy za pomocą narzędzia Test Lab. często:
- Otwórz swój 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 jest 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: ogólnym urządzeniu z iOS:
- W menu urządzenia u góry okna obszaru roboczego Xcode wybierz Typowe urządzenie z iOS.
- Na pasku menu systemu macOS wybierz Usługa > Dlatego > Testowanie.
Możesz też utworzyć XCTest z poziomu wiersza poleceń. W terminalu użyj tego polecenia:
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 potwierdź go
Upewnij się, że wszystkie artefakty w aplikacji i teście są podpisane. Możesz na przykład: zrób to za pomocą Xcode, określając ustawienia podpisywania, takie jak profil obsługi administracyjnej i tożsamość. Więcej informacji: Apple Code Podpisywanie.
Sprawdź podpis aplikacji, uruchamiając
codesign --verify --deep --verbose /path/to/MyApp.app
, gdzie „MojaAplikacja” to nazwa aplikacji w rozpakowanym folderze. To zależy od projektu. Oczekiwane dane wyjściowe toMyApp.app: valid on disk
.Jeśli przeprowadzasz test XCUITest, musisz zweryfikować zarówno test, jak i bieg. uruchamiając aplikację
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
, gdzie: "MójTest" to nazwa biegu w rozpakowanym folderze. To zależy od projektu. Oczekiwane dane wyjściowe toMyTest-Runner.app: valid on disk
.
Krok 4. Spakuj aplikację i przetestuj ją pod kątem przesyłania
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
Test możesz też spakować poprzez ręczne skompresowanie plików testowych:
Otwórz Finder i przejdź do
FOLDER_WITH_TEST_OUTPUT
Otwórz folder, którego prefiks jest nazwą Twojego projektu, i przejdź do
Build/Products
folder w folderze.Wybierz foldery
Debug-iphoneos
iYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
i skompresuj je.
Krok 5. (Opcjonalnie) Przeprowadź test lokalnie
Zanim przeprowadzisz test w środowisku Test Lab, możesz go uruchomić lokalnie za pomocą urządzenia podłączonego przez USB, aby sprawdzić jakość jego działania:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Dalsze kroki
Prześlij i przeprowadź test w konsoli Firebase lub interfejs wiersza poleceń gcloud.