Przeprowadź XCTest

Z tego przewodnika dowiesz się, jak przygotować XCTest do testowania 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. Jeśli chcesz, możesz zachować domyślną lokalizację tego katalogu, ale często warto wybrać łatwiej dostępną lokalizację plików, zwłaszcza jeśli zamierzasz często przeprowadzać testy za pomocą Test Lab często:

  1. Otwórz projekt w Xcode.
  2. Na pasku menu macOS kliknij Plik > Ustawienia projektu…
  3. W menu Derived Data (Dane pochodne) zmień Default Location (Lokalizacja domyślna) na Custom Location (Lokalizacja niestandardowa).
  4. 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 uruchamia testy jednostkowe i testy interfejsu za pomocą platformy XCTest. Aby uruchomić XCTesty aplikacji na urządzeniach Test Lab, skompiluj ją do testowania na ogólnym urządzeniu z iOS:

  1. W menu urządzenia u góry okna obszaru roboczego Xcode wybierz Generic iOS Device (Ogólne urządzenie z iOS).
  2. Na pasku menu macOS kliknij Product (Produkt) > Build For (Kompiluj dla) > Testing (Testowanie).

Alternatywnie możesz skompilować XCTest z 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 zweryfikuj go

  1. 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 aprowizacji i tożsamość. Więcej informacji znajdziesz w artykule Apple Code Signing.

  2. Sprawdź podpis aplikacji, uruchamiając polecenie codesign --verify --deep --verbose /path/to/MyApp.app, gdzie „MyApp” to nazwa aplikacji w rozpakowanym folderze. W przypadku każdego projektu jest to inne. Oczekiwany wynik to MyApp.app: valid on disk.

  3. Jeśli uruchamiasz 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. W przypadku każdego projektu jest to inne. Oczekiwany wynik to MyTest-Runner.app: valid on disk.

Krok 4. Spakuj aplikację i test do przesłania

  1. Gdy test zostanie pomyślnie skompilowany, spakuj go w formacie ZIP, aby przesłać 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:

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

  2. Otwórz folder, którego prefiksem jest nazwa projektu, a następnie przejdź do folderu Build/Products.

  3. Wybierz foldery Debug-iphoneos i YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun a następnie je skompresuj.

Krok 5. (Opcjonalnie) Uruchom test lokalnie

Zanim uruchomisz test w Test Lab, możesz go uruchomić 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-id

Dalsze kroki

Prześlij i uruchom test w konsoli Firebase lub gcloud CLI.