إجراء اختبار 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، اختَر Generic iOS Device (جهاز 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.