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

يوضّح هذا الدليل كيفية إعداد اختبار XCTest للاختبار في Firebase Test Lab.

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

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

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

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

Test Lab يُجري اختبارات الوحدة واختبارات واجهة المستخدم باستخدام إطار عمل 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.

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