Przeprowadź XCTest

Z tego przewodnika dowiesz się, jak przygotować XCTest do testowania w Laboratorium Firebase.

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 w Laboratorium. często:

  1. Otwórz swój projekt w Xcode.
  2. Na pasku menu systemu macOS wybierz Plik > Ustawienia projektu...
  3. menu Derived Data (Dane pochodne) musisz zmienić z Domyślna lokalizacja na Niestandardowa lokalizacja.
  4. W polu poniżej menu wybierz lokalizację, w której Xcode ma umieścić dane wyjściowe. na których testujesz. (To jest FOLDER_WITH_TEST_OUTPUT).

Krok 2. Utwórz ogólny plik testowy

Laboratorium przeprowadza testy jednostkowe i testy interfejsu za pomocą XCTest. Aby przeprowadzić testy XCTest aplikacji na urządzeniach Test Lab, skompiluj ją do testowania na Standardowe urządzenie z iOS:

  1. W menu urządzenia u góry okna obszaru roboczego Xcode wybierz Standardowe urządzenie z iOS.
  2. Na pasku menu systemu macOS wybierz Usługa > Dlatego > Testowanie.

Zamiast tego możesz 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

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

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

  3. 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 dla każdego projektu. Oczekiwane dane wyjściowe to MyTest-Runner.app: valid on disk.

Krok 4. Spakuj aplikację i przetestuj ją pod kątem przesyłania

  1. Po skompilowaniu testu spakuj go do formatu .zip i prześlij do Laboratorium:

    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:

  1. Otwórz Finder i przejdź do FOLDER_WITH_TEST_OUTPUT

  2. Otwórz folder, którego prefiks jest nazwą Twojego projektu, i przejdź do Build/Products folder w folderze.

  3. Wybierz foldery Debug-iphoneos i YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun i skompresuj je.

Krok 5. (Opcjonalnie) Przeprowadź test lokalnie

Zanim przeprowadzisz test w Laboratorium, 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.