Uruchom XCTest

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:

  1. Otwórz swój projekt w Xcode.
  2. Na pasku menu macOS wybierz Plik > Ustawienia projektu...
  3. Zmień listę rozwijaną Dane pochodne z lokalizacji domyślnej na lokalizację niestandardową .
  4. 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:

  1. Z listy rozwijanej urządzeń u góry okna obszaru roboczego Xcode wybierz opcję Ogólne urządzenie iOS .
  2. 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

  1. 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 .

  2. 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 to MyApp.app: valid on disk .

  3. Jeśli korzystasz z 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 to MyTest-Runner.app: valid on disk .

Krok 4 : Spakuj aplikację i przetestuj przed przesłaniem

  1. 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:

  1. Otwórz Finder i przejdź do FOLDER_WITH_TEST_OUTPUT .

  2. Otwórz folder, który ma przedrostek nazwy projektu, a następnie przejdź do znajdującego się w nim folderu Build/Products .

  3. Wybierz foldery Debug-iphoneos i YOUR_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 .