Z tego przewodnika dowiesz się, jak przygotować test XCTest do przeprowadzenia w Firebase Test Lab.
Krok 1. Skonfiguruj lokalizację danych pochodnych projektu
Xcode umieszcza skompilowane artefakty iOS, w tym wszystkie utworzone testy, w katalogu Derived Data. Możesz zachować domyślną lokalizację tego katalogu, ale często warto wybrać łatwiej dostępne miejsce na pliki, zwłaszcza jeśli zamierzasz często przeprowadzać testy za pomocą Test Lab:
- Otwórz projekt w Xcode.
- Na pasku menu macOS wybierz File (Plik) > Project Settings… (Ustawienia projektu…).
- W menu Derived Data (Dane pochodne) zmień opcję Default Location (Lokalizacja domyślna) na Custom Location (Lokalizacja niestandardowa).
- W polu pod menu wybierz lokalizację, w której Xcode ma zapisywać wyniki testów. (To jest 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ć testy XCTest aplikacji na urządzeniach Test Lab, skompiluj ją do testowania na ogólnym urządzeniu z iOS:
- W menu urządzeń u góry okna obszaru roboczego Xcode wybierz Generic iOS Device (Ogólne urządzenie z iOS).
- Na pasku menu macOS wybierz Product (Produkt) > Build For (Skompiluj dla) > Testing (Testowanie).
Możesz też utworzyć test XCTest z poziomu wiersza poleceń. Użyj tego polecenia w terminalu:
projekt
xcodebuild -project PATH/TO/YOUR_WORKSPACE/PROJECT_NAME.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 go zweryfikuj
Upewnij się, że wszystkie artefakty w aplikacji i teście są podpisane. Możesz to zrobić na przykład w Xcode, określając ustawienia podpisywania, takie jak profil obsługi administracyjnej i tożsamość. Więcej informacji znajdziesz w artykule na temat podpisywania kodu Apple.
Sprawdź podpis aplikacji, uruchamiając polecenie
codesign --verify --deep --verbose /path/to/MyApp.app, gdzie „MyApp” to nazwa aplikacji w rozpakowanym folderze. Zależy to od projektu. Oczekiwane dane wyjściowe toMyApp.app: valid on disk.Jeśli przeprowadzasz test XCUITest, musisz zweryfikować test i program uruchamiający, uruchamiając polecenie
codesign --verify --deep --verbose /path/to/MyTest-Runner.app, gdzie „MyTest” to nazwa programu uruchamiającego w rozpakowanym folderze. Zależy to od projektu. Oczekiwane dane wyjściowe toMyTest-Runner.app: valid on disk.
Krok 4. Spakuj aplikację i przetestuj przesyłanie
Po pomyślnym utworzeniu testu skompresuj go do pliku ZIP, aby przesłać go 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 Finder i przejdź do
FOLDER_WITH_TEST_OUTPUT.Otwórz folder, którego nazwa zaczyna się od nazwy Twojego projektu, a następnie przejdź do folderu
Build/Products.Wybierz foldery
Debug-iphoneosiYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun, a następnie je skompresuj.
Krok 5. (Opcjonalnie) Przeprowadź test lokalnie
Zanim uruchomisz test w usłudze Test Lab, możesz uruchomić go lokalnie na urządzeniu podłączonym przez USB, aby sprawdzić jego działanie:
xcodebuild test-without-building \
-xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
-destination id=your-phone-idDalsze kroki
Prześlij i uruchom test w konsoli Firebase lub gcloud CLI.