W tym przewodniku opisano, jak przygotować XCTest do testów w laboratorium testowym Firebase.
Krok 1 : Skonfiguruj lokalizację danych pochodnych swojego projektu
Xcode umieszcza skompilowane artefakty iOS, w tym wszelkie utworzone testy, w katalogu Derived Data. Jeśli chcesz, możesz zachować domyślną lokalizację tego katalogu, ale często pomocne jest wybranie łatwiej dostępnego miejsca na pliki, zwłaszcza jeśli często przeprowadzasz testy w laboratorium testowym:
- Otwórz swój projekt w Xcode.
- Na pasku menu macOS wybierz Plik > Ustawienia projektu...
- Zmień listę rozwijaną Dane pochodne z lokalizacji domyślnej na lokalizację niestandardową .
- W polu poniżej listy rozwijanej wybierz lokalizację, do której Xcode ma wysyłać testy. (To jest Twój FOLDER_WITH_TEST_OUTPUT )
Krok 2 : Zbuduj ogólny plik testowy
Laboratorium Testowe przeprowadza testy jednostkowe i testy interfejsu użytkownika z wykorzystaniem frameworka XCTest . Aby uruchomić testy XCTests swojej aplikacji na urządzeniach w laboratorium testowym, zbuduj ją do testowania na ogólnym urządzeniu z systemem iOS:
- Z listy rozwijanej urządzeń u góry okna obszaru roboczego Xcode wybierz opcję Ogólne urządzenie iOS .
- Na pasku menu macOS wybierz opcję Produkt > Kompiluj dla > Testowanie .
Alternatywnie możesz zbudować swój XCTest z wiersza poleceń. Użyj następującego 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 zweryfikuj
Upewnij się, że wszystkie artefakty w aplikacji i teście są podpisane. Można to na przykład zrobić za pomocą Xcode, określając ustawienia podpisywania, takie jak profil informacyjny i tożsamość. Więcej informacji znajdziesz w artykule Podpisywanie kodu Apple .
Sprawdź podpis aplikacji, uruchamiając polecenie
codesign --verify --deep --verbose /path/to/MyApp.app
gdzie „MojaAplikacja” to nazwa aplikacji w rozpakowanym folderze. Różni się to w przypadku każdego projektu. Oczekiwany wynik toMyApp.app: valid on disk
.Jeśli używasz XCUITest, musisz zweryfikować test i biegacza, uruchamiając
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
gdzie „MójTest” to nazwa biegacza wewnątrz rozpakowany folder. Różni się to w przypadku każdego projektu. Oczekiwany wynik toMyTest-Runner.app: valid on disk
.
Krok 4 : Spakuj aplikację i przetestuj przed przesłaniem
Po pomyślnym utworzeniu testu spakuj go w celu przesłania do laboratorium testowego:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Możesz także spakować test, ręcznie kompresując pliki testowe:
Otwórz Finder i przejdź do
FOLDER_WITH_TEST_OUTPUT
.Otwórz folder, który ma przedrostek nazwy projektu, a następnie przejdź do znajdującego się w nim folderu
Build/Products
.Wybierz foldery
Debug-iphoneos
iYOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun
, a następnie je skompresuj.
Krok 5 : (Opcjonalnie) Uruchom test lokalnie
Przed uruchomieniem testu w laboratorium testowym możesz uruchomić go lokalnie za pomocą urządzenia podłączonego przez USB, aby sprawdzić jakość jego zachowania:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Następne kroki
Prześlij i uruchom test w konsoli Firebase lub interfejsie wiersza polecenia gcloud .