اختبار الوحدة في QTESTLIB - إجراء اختبارات / اختبارات واحدة في الفصل / جميع الاختبارات

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

  •  30-09-2019
  •  | 
  •  

سؤال

لقد بدأت للتو في استخدام Qtestlib. لقد مررت كتيب و الدورة التعليمية. على الرغم من أنني أفهم كيفية إنشاء اختبارات ، إلا أنني لا أحصل على كيفية جعل هذه الاختبارات مريحة للتشغيل. خلفية اختبار الوحدة الخاصة بي هي NUNIT و MSTEST. في تلك البيئات ، كان تافها (باستخدام واجهة المستخدم الرسومية ، على الأقل) للتبديل بين إجراء اختبار واحد ، أو جميع الاختبارات في فئة اختبار واحدة ، أو جميع الاختبارات في المشروع بأكمله ، فقط بالنقر فوق الزر الأيمن.

كل ما أراه في Qtestlib هو إما أنك تستخدم QTEST_MAIN الماكرو لتشغيل الاختبارات في فئة واحدة ، ثم تجميع واختبار كل ملف بشكل منفصل ؛ او استعمل QTest::qExec() في main() لتحديد الكائنات التي يجب اختبارها ، ثم تغيير ذلك يدويًا وإعادة الترجمة عندما تريد إضافة/إزالة فئات الاختبار.

أنا متأكد من أنني أفتقد شيئًا. أود أن أكون قادرًا على ذلك بسهولة:

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

أي من هؤلاء سيطلق على وظائف الإعداد / المسيل للدموع المناسبة.

تعديل: مكافأة متاحة الآن. يجب أن تكون هناك طريقة أفضل ، أو عداء اختبار واجهة المستخدم الرسومية يعالجها لك أو شيء من هذا القبيل. إذا كنت تستخدم QTTest في بيئة تعتمد على الاختبار ، فأخبرني بما يناسبك. (البرامج النصية ، المتسابقين اختبار ، إلخ)

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

المحلول

يمكنك تشغيل حالات الاختبار المحددة فقط (طرق الاختبار) عن طريق اجتياز أسماء الاختبارات كـ وسائط سطر الأوامر :

myTests.exe myCaseOne myCaseTwo

سيتم تشغيل جميع عمليات التنظيف/التنظيف أيضًا. لسوء الحظ ، لا يوجد أي دعم لمطابقة الأبطال البرية/الأنماط ، لذلك لتشغيل جميع الحالات التي تبدأ بالسلسلة المعطاة (أفترض أن هذا ما تعنيه من خلال "تشغيل الاختبارات في فئة كاملة") ، يجب عليك إنشاء برنامج نصي (Windows Batch/ باش/بيرل/أيا كان) الذي يدعو:

myTests.exe -functions

يمتلك النتائج ويقوم بتشغيل اختبارات محددة باستخدام بناء الجملة الأول.

لتشغيل جميع الحالات ، فقط لا تمرير أي معلمة:

myTests.exe

نصائح أخرى

يتم دمج الميزات الثلاث التي طلبتها البروتوكول الاختياري في الوقت الحاضر في خالق QT.

سيتم مسح المشروع تلقائيًا للاختبارات ويتم ذلك في جزء الاختبار. أسفل اليسار في لقطة الشاشة:

Qt Creator screenshot

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

ستكون نتائج الاختبار متاحة من خالق QT أيضًا. سيعرض مؤشر اللون تمرير/فشل لكل اختبار ، على طول معلومات إضافية مثل رسائل التصحيح.

بالاشتراك مع خالق QT ، استخدام QTEST_MAIN سيعمل الماكرو لكل حالة اختبار بشكل جيد ، حيث يتم استدعاء كل تجميع قابلة للتنفيذ بواسطة منشئ QT تلقائيًا.

للحصول على نظرة عامة أكثر تفصيلاً ، راجع تشغيل Autotests قسم من دليل خالق كيو تي.

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