إجراء اختبار XCTest

يصف هذا الدليل كيفية تحضير XCTest للاختبار في مركز الاختبار الافتراضي لمنصة Firebase

الخطوة 1: ضبط موقع البيانات مشتقة لمشروعك

تضع Xcode مجموعة عناصر iOS المجمّعة، بما في ذلك أي اختبارات تنشئها، في مشتق دليل البيانات. يمكنك الاحتفاظ بالموقع الافتراضي لهذا الدليل، إذا كنت ترغب في ذلك، ولكن غالبًا ما يكون من المفيد اختيار مكان يسهل الوصول إليه بالنسبة إلى الملفات، خاصةً إذا كنت بصدد إجراء اختبارات باستخدام Test Lab غالبًا:

  1. افتح مشروعك في Xcode.
  2. في شريط قوائم macOS، حدد ملف > إعدادات المشروع...
  3. يمكنك تغيير القائمة المنسدلة البيانات المشتقة من الموقع التلقائي إلى موقع مخصّص
  4. في الحقل أسفل القائمة المنسدلة، حدد موقعًا لإخراج Xcode اختباراتك إليه. (هذا هو FOLDER_WITH_TEST_OUTPUT)

الخطوة 2: إنشاء ملف اختبار عام

يجري مركز الاختبار الافتراضي اختبارات الوحدة واختبارات واجهة المستخدم باستخدام XCTest. لتشغيل اختبار XCTest الخاص بتطبيقك على أجهزة 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-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_iphoneosDEPLOYMENT_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.