เรียกใช้ XCTest

คู่มือนี้จะอธิบายวิธีเตรียม XCTest สำหรับการทดสอบใน Firebase Test Lab

ขั้นตอนที่ 1 : กำหนดค่าตำแหน่งข้อมูลที่ได้รับของโครงการของคุณ

Xcode จะวางสิ่งประดิษฐ์ iOS ที่คอมไพล์แล้ว รวมถึงการทดสอบใดๆ ที่คุณสร้างไว้ในไดเร็กทอรี Derived Data คุณสามารถเก็บตำแหน่งเริ่มต้นสำหรับไดเร็กทอรีนั้นได้ หากคุณต้องการ แต่มักจะเป็นประโยชน์ในการเลือกตำแหน่งที่เข้าถึงได้ง่ายกว่าสำหรับไฟล์ โดยเฉพาะอย่างยิ่งหากคุณจะทำการทดสอบกับ Test Lab บ่อยๆ:

  1. เปิดโครงการของคุณใน Xcode
  2. ในแถบเมนู macOS ให้เลือก ไฟล์ > การตั้งค่าโปรเจ็กต์...
  3. เปลี่ยนรายการแบบเลื่อนลง ข้อมูลที่ได้รับ จาก ตำแหน่งเริ่มต้น เป็น ตำแหน่งที่กำหนดเอง
  4. ในช่องด้านล่างเมนูแบบเลื่อนลง ให้เลือกตำแหน่งสำหรับ Xcode ที่จะส่งออกการทดสอบของคุณ (นี่คือ FOLDER_WITH_TEST_OUTPUT ของคุณ)

ขั้นตอนที่ 2 : สร้างไฟล์ทดสอบทั่วไป

Test Lab ดำเนินการทดสอบหน่วยและการทดสอบ UI โดยใช้เฟรมเวิร์ก XCTest หากต้องการเรียกใช้ XCTests ของแอปบนอุปกรณ์ Test Lab ให้สร้างแอปสำหรับการทดสอบบนอุปกรณ์ iOS ทั่วไป:

  1. จากเมนูแบบเลื่อนลงอุปกรณ์ที่ด้านบนของหน้าต่างพื้นที่ทำงาน Xcode ให้เลือก อุปกรณ์ iOS ทั่วไป
  2. ในแถบเมนู macOS ให้เลือก ผลิตภัณฑ์ > สร้างสำหรับ > การทดสอบ

คุณสามารถสร้าง XCTest ได้จากบรรทัดคำสั่ง ใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

โครงการ

xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.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

ขั้นตอนที่ 3 : ลงนามการทดสอบของคุณและยืนยัน

  1. ตรวจสอบให้แน่ใจว่าอาร์ติแฟกต์ทั้งหมดในแอปและการทดสอบได้รับการลงนามแล้ว ตัวอย่างเช่น คุณสามารถทำได้ผ่าน Xcode โดยระบุการตั้งค่าการลงนาม เช่น การจัดเตรียมโปรไฟล์และข้อมูลระบุตัวตน สำหรับข้อมูลเพิ่มเติม โปรดดู การลงนาม Apple Code

  2. ตรวจสอบลายเซ็นของแอปโดยการรัน codesign --verify --deep --verbose /path/to/MyApp.app โดยที่ "MyApp" คือชื่อของแอปภายในโฟลเดอร์ที่คลายซิป สิ่งนี้จะแตกต่างกันไปในแต่ละโครงการ ผลลัพธ์ที่คาดหวังคือ MyApp.app: valid on disk

  3. หากคุณใช้ XCUITest คุณจะต้องตรวจสอบการทดสอบและรันเนอร์โดยการรัน codesign --verify --deep --verbose /path/to/MyTest-Runner.app โดยที่ "MyTest" คือชื่อของรันเนอร์ที่อยู่ภายใน คลายซิปโฟลเดอร์ สิ่งนี้จะแตกต่างกันไปในแต่ละโครงการ ผลลัพธ์ที่คาดหวังคือ MyTest-Runner.app: valid on disk

ขั้นตอนที่ 4 : จัดทำแพ็กเกจแอปของคุณและทดสอบการอัปโหลด

  1. หลังจากสร้างการทดสอบของคุณสำเร็จแล้ว ให้บีบอัดไฟล์เพื่ออัปโหลดไปยัง Test Lab:

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

คุณยังสามารถจัดแพ็คเกจการทดสอบของคุณได้โดยการบีบอัดไฟล์ทดสอบด้วยตนเอง:

  1. เปิด Finder และไปที่ FOLDER_WITH_TEST_OUTPUT

  2. เปิดโฟลเดอร์ที่มีชื่อโปรเจ็กต์ของคุณเป็นคำนำหน้า จากนั้นไปที่โฟลเดอร์ Build/Products ที่อยู่ข้างใน

  3. เลือกโฟลเดอร์ Debug-iphoneos และ YOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun แล้วบีบอัด

ขั้นตอนที่ 5 : (ไม่บังคับ) เรียกใช้การทดสอบในเครื่อง

ก่อนที่จะรันการทดสอบกับ Test Lab คุณสามารถรันการทดสอบในเครื่องด้วยอุปกรณ์ที่เชื่อมต่อ USB เพื่อตรวจสอบคุณภาพการทำงาน:

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

ขั้นตอนถัดไป

อัปโหลดและเรียกใช้การทดสอบใน คอนโซล Firebase หรือ gcloud CLI