سؤال

هناك ست علامات تبويب في مشغل اختبار NUnit:

Errors and Failures
Tests Not Run
Console.Out
Console.Error
Trace
Log

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

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

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

المحلول

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

تتم تغطية جميع علامات التبويب المتبقية في سؤالك الآخر:

  • Console.Out -> Console.WriteLine()
  • Console.Error -> Console.Error.WriteLine()
  • تتبع -> System.Diagnostics.Trace.WriteLine()
  • سجل -> إخراج log4net

يقوم Console.Out بكتابة البيانات إلى stdout.

يقوم Console.Error بكتابة البيانات إلى stderr.

يقوم التتبع بكتابة البيانات إلى تتبع أوجيبكت .

Log4Net يكتب إلى "مجموعة متنوعة من أهداف السجل."

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

نصائح أخرى

وأتوقع Console.Out لاستخدامها عند كتابة أو تصحيح الاختبارات الخاصة بك، في حين ستستخدم تتبع لعرضه إخراج التتبع من التعليمات البرمجية تحت الاختبار. إخراج التتبع في التعليمات البرمجية الخاصة بك يمكن أن يكون مشروطا باستخدام Trace.WriteIf الخ، وتحولت على التعاريف التبديل في ملف التكوين الخاص بك.

  • Console.Out = الإخراج من كود الاختبار الخاص بك (على سبيل المثال:تفريغ محتويات الكائنات التي تم إرجاعها بواسطة الطرق التي يتم اختبارها).

  • Console.Error = تفاصيل الإخراج للأخطاء التي اكتشفها رمز الاختبار الخاص بك

  • التتبع = تتبع التشخيص من الكود الذي يتم اختباره.

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