هل هناك طريقة لتشغيل فقط مجموعة محددة من الاختبارات في مشروع غرادل الروبوت?

StackOverflow https://stackoverflow.com//questions/23046259

سؤال

لدي مشروع الروبوت / غرادل.كلما أردت إجراء الاختبارات ، أركض:

./gradlew connectedInstrumentTest

الذي يدير جميع اختباراتي تحت مجلد الاختبار لمشروعي.

يحتوي مجلد الاختبار الخاص بي على العديد من اختبارات الأتمتة بالإضافة إلى اختبارات عدم الأتمتة.أنا مهتم في الغالب في تشغيل اختبارات غير الأتمتة السريعة دون اختبارات الأتمتة البطيئة.

هل هناك طريقة لتشغيل مجرد مجموعة محددة من الاختبارات, مثل من فئة معينة أو أي شيء مماثل?أنا أسأل بشكل أساسي عن أي نوع من الانفصال حتى أتمكن من اختيار إجراء بعض الاختبارات عندما أريد ذلك.


إنشاء مشروع عينة هنا.

تحرير local.properties للإشارة إلى سك الروبوت الخاص بك.

بعد ذلك ، ابدأ تشغيل محاكي أو قم بتوصيل هاتف بجهاز الكمبيوتر الخاص بك.ثم يمكنك تشغيل الاختبارات باستخدام ./gradlew connectedInstrumentTest --info.هذا يدير جميع الاختبارات.

ما أنا غير قادر على معرفة هو كيفية تشغيل الاختبارات فقط في ، مثلا ، فئة واحدة وليس كل الاختبارات.

هل كانت مفيدة؟

المحلول

منذ الروبوت غرادل المساعد 1.3.0

بدءا من الإصدار 1.3.0 يمكنك (أخيرا!) تحديد الحجج الروبوت غرادل المساعد يجب أن تمر إلى InstrumentationTestRunner.

على سبيل المثال ، إذا كنت تريد تشغيل الاختبارات المشروحة فقط باستخدام @SmallTest وتجاهل الآخرين:

android {
  //....
  defaultConfig {
  //....
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    testInstrumentationRunnerArgument "size", "small"
  }
}

الحل القديم قبل البرنامج المساعد 1.3.0 ليس من الممكن القيام بذلك ولكن لقد وجدت وركواوند قليلا.في الأساس لقد المشروح مع @SmallTest شرح الاختبارات السريعة واستخدام فئة فرعية مخصصة من InstrumentationTestRunner أنا قادر على تشغيلها فقط وليس الجناح بأكمله.

يمكنك العثور على رمز المثال في هذا الجوهر.

نصائح أخرى

نعم ، يرجى إلقاء نظرة هنا.يجب أن تعمل أيضا مع مشروع أندرويد.للأسف بقدر ما أعرف ليس هناك طريقة ل رونغ طريقة واحدة - يمكنك الحد من دعوى كاملة فقط.

كما يمكنك تثبيت دعوى اختبار على الجهاز وتشغيله يدويا من خلال بنك التنمية الآسيوي.انظر مستندات أندرويد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top