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

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

  •  23-12-2019
  •  | 
  •  

سؤال

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

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

المحلول

يمكنك استدعاء nunit-console مع ال /labels مفتاح سطر الأوامر.سيؤدي ذلك إلى كتابة الاسم (المؤهل بالكامل) لكل اختبار إلى وحدة التحكم أثناء تشغيله ، على الرغم من أن الإخراج لا يتضمن نتيجة الاختبار.ومع ذلك ، فإنه سيظهر لك الاختبارات التي تم تشغيلها بنجاح.

الخيار الآخر الوحيد هو الخيار الذي خصمته ، وهو كتابة الخيار الخاص بك EventListener التنفيذ. الوثائق حول تلك الواجهة هو القليل من الضوء ، ولكن وثائق نونيت حول كتابة الجمعية الإضافية نونيت يجب أن يكون كافيا لتبدأ إذا غيرت رأيك بشأن ذلك.

نصائح أخرى

أولا في المستقبل القريب، يبدو أن مثل هذا التسجيل سيتم توفيره بواسطة Nunit من المربع - تم طلب هذه الميزة بالفعل - كتابة النتائج الجزئية XML حيث تحدث الاختبارات بدلا من النهاية .

حتى يتم القيام به نحن نحتاج إلى كتابة بعض الكود المخصص وفي حالة استخدام nunit <3.x لها بسيطة جدا:
1) تحتاج إلى إنشاء مستمع حدث ينفذ واجهة EventListener
2) توفر هذه الواجهة إعلامات لحالات مختلفة من تنفيذ الاختبار، على سبيل المثال. runstarted، runfinished أو testfinished. كل ما تحتاج إليه هو تنفيذ تسجيل الدخول ذات الصلة لحالتك. مقتطف من الرمز الخاص بي:

giveacodicetagpre.

3) آخر شيء هو إنشاء NUNIT ADDIN:

giveacodicetagpre.

ملاحظة: هناك مقالة جيدة جدا http: / /jimmykeen.net/net/2015/02/28/Logging-Test-Results-With-Nunit/ والتي تغطي نهج مماثل وأكثر من ذلك.
لسوء الحظ يعمل ل Nunit <3.x فقط منذ إعادة كتابة nunit3 بشدة - على سبيل المثال. لا توجد واجهة EventListener بعد الآن.

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