المشروع المُنشأ
لتشغيل الاختبارات بشكل انتقائي مع مشروعك الذي تم إنشاؤه، استخدم الأمر tuist test. يقوم الأمر بتجزئة مشروع Xcode الخاص بك بنفس الطريقة التي يقوم بها
عمليات التشغيل المستقبلية.
في عمليات التشغيل المستقبلية اختبار تويست يستخدم التجزئة بشفافية لتصفية الاختبارات لتشغيل الاختبارات التي تغيرت فقط منذ آخر عملية تشغيل اختبار ناجحة.
على سبيل المثال، بافتراض الرسم البياني التالي للتبعية:
الميزة Aلديها اختباراتFeatureATests، وتعتمد علىالأساسيةالميزة بلديه اختباراتFeatureBTests، ويعتمد علىالأساسيةيحتوي الموقع الأساسيعلى اختباراتCoreTests CoreTests
سوف يتصرف اختبار تويست على هذا النحو:
| الإجراء | الوصف | الحالة الداخلية |
|---|---|---|
اختبار تويست استدعاء | يقوم بتشغيل الاختبارات في CoreTests و FeatureATests و FeatureBTests | يتم الاحتفاظ بتجزئة ميزات الاختبارات و ميزات الاختبارات و الاختبارات الأساسية |
الميزة يتم تحديث | يقوم المطور بتعديل الكود البرمجي للهدف | كما في السابق |
اختبار تويست استدعاء | يقوم بتشغيل الاختبارات في FeatureATests لأنه تم تغيير التجزئة | يتم استمرار التجزئة الجديدة لـ FeatureATests |
تم تحديث الموقع الأساسي | يقوم المطور بتعديل الكود البرمجي للهدف | كما في السابق |
اختبار تويست استدعاء | يقوم بتشغيل الاختبارات في CoreTests و FeatureATests و FeatureBTests | التجزئة الجديدة لـ FeatureATests FeatureBTests ، و CoreTests يتم استمرارها |
يتكامل اختبار tuist test مباشرةً مع التخزين المؤقت الثنائي لاستخدام أكبر عدد ممكن من الثنائيات من وحدة التخزين المحلية أو البعيدة لتحسين وقت الإنشاء عند تشغيل مجموعة الاختبارات الخاصة بك. يمكن للجمع بين الاختبار الانتقائي والتخزين المؤقت الثنائي أن يقلل بشكل كبير من الوقت الذي يستغرقه تشغيل الاختبارات على CI الخاص بك.
اختبارات واجهة المستخدم
يدعم Tuist الاختبار الانتقائي لاختبارات واجهة المستخدم. ومع ذلك، يحتاج تويست إلى معرفة الوجهة مسبقًا. فقط إذا قمت بتحديد الوجهة الوجهة المعلمة ، سيقوم تويست بتشغيل اختبارات واجهة المستخدم بشكل انتقائي، مثل:
sh
tuist test --device 'iPhone 14 Pro'
# or
tuist test -- -destination 'name=iPhone 14 Pro'
# or
tuist test -- -destination 'id=SIMULATOR_ID'