Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

XCTest 실행

이 가이드에서는 Firebase Test Lab에서 테스트하기 위해 XCTest를 준비하는 방법을 설명합니다.

1 단계 : 구성 프로젝트가 파생의 데이터 위치

Xcode는 사용자가 빌드한 모든 테스트를 포함하여 컴파일된 iOS 아티팩트를 Derived Data 디렉토리에 배치합니다. 원하는 경우 해당 디렉토리의 기본 위치를 유지할 수 있지만 특히 Test Lab으로 테스트를 자주 실행하려는 경우 파일에 더 쉽게 액세스할 수 있는 위치를 선택하는 것이 종종 도움이 됩니다.

  1. Xcode에서 프로젝트를 엽니다.
  2. 맥 OS 메뉴 바에서 파일> 프로젝트 설정을 선택합니다 ...
  3. 사용자 정의 위치에 대한 기본 위치에서 파생 된 데이터 드롭 다운을 변경합니다.
  4. 드롭다운 아래 필드에서 테스트를 출력할 Xcode의 위치를 ​​선택합니다.

2 단계 : 일반적인 테스트 파일을 빌드

테스트 랩은 단위 테스트와 사용 UI 테스트를 실행 XCTest 프레임 워크를. Test Lab 기기에서 앱의 XCTest를 실행하려면 일반 iOS 기기에서 테스트하기 위해 빌드하세요.

  1. Xcode 작업 공간 창 상단의 장치 드롭다운에서 일반 iOS 장치를 선택합니다.
  2. 맥 OS 메뉴 바에서 제품> 테스트>에 대한 빌드를 선택합니다.

3 단계 : 업로드에 대한 응용 프로그램을 패키지화

마지막으로, 빌드 및 당신이에 내장 된 테스트 파일 압축하여 테스트 랩에 업로드 테스트 패키지 .zip 파일을.

  1. XCTest를 빌드하려면 터미널에서 다음 명령을 사용하십시오.

    프로젝트

    xcodebuild -project PATH/TO/YOUR_WORKSPACE.xcodeproj \
    -scheme YOUR_SCHEME \
    -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
    -sdk iphoneos build-for-testing

    작업 공간

    xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \
    -scheme YOUR_SCHEME \
    -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
    -sdk iphoneos build-for-testing
  2. 테스트가 성공적으로 빌드되면 Test Lab에 업로드하기 위해 압축합니다.

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
    zip -r MyTests.zip Debug-iphoneos   YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
    

테스트 파일을 수동으로 압축하여 테스트를 패키징할 수도 있습니다.

  1. Finder를 열고 파생 데이터 출력용으로 지정한 디렉토리로 이동합니다.

  2. 열기, 프로젝트를 위해 선택한 폴더를 열고 Build/Products 내부 폴더에 있습니다.

  3. 폴더 선택 Debug-iphoneosPROJECT_NAME _iphoneos DEVELOPMENT_TARGET -arm64.xctestrun 한 다음 압축.

4단계. (선택 사항) 로컬에서 테스트 실행

Test Lab으로 테스트를 실행하기 전에 USB로 연결된 기기로 로컬에서 테스트를 실행하여 동작의 품질을 확인할 수 있습니다.

xcodebuild test-without-building \
    -xctestrun "Derived Data/Build/Products/YourApp.xctestrun" \
    -destination id=your-phone-id

다음 단계

업로드와는에서 테스트 실행 중포 기지 콘솔 또는 gcloud의 CLI를 .