كيفية تزيين الفصل على أنه غير قابل للاختبار لتغطية الكود؟

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

سؤال

خلفية:فيجوال ستوديو 2008، سي #، نت 3.5.

لدي عدد من فئات المرافق التي لا يمكن اختبارها بالوحدة.ويرجع ذلك أساسًا إلى تفاعلهم مع الموارد (على سبيل المثال.قواعد البيانات والملفات وغيرها).

هل هناك طريقة يمكنني من خلالها تزيين هذه الفئات بحيث يتجاهلها محرك Visual Studio Code Coverage، وبالتالي لا يقلل نسبة تغطية التعليمات البرمجية؟

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

المحلول

هناك إجابة في هذا المقال حول كيفية الاستخدام [النظام.التشخيص.مصحح الأخطاء] أو [النظام.التشخيص.DebuggerNonUserCode] سمات لاستبعاد الأساليب من تغطية التعليمات البرمجية.

تحديث حسب تعليق ديفيد:

اعتبارًا من .NET 4.0، هناك سمة مخصصة لهذا: [استبعاد من كود التغطية]

نصائح أخرى

عند الترقية المشروع الخاص بك إلى .NET Framework 4، ستحصل في ExcludeFromCodeCoverageAttribute الدرجة .

واحدة من الأسباب التي تريد كتابة وحدة الاختبارات هو جعل التعليمات البرمجية المتباعدة. يمكنك أن تقرأ هذا المقال إذا كنت مهتما بمعرفة كيفية كتابة التعليمات البرمجية المتباعدة (في حال كنت لا أعرف كيف).

وقائلا أنه يمكنك محاولة استخدام أدوات مثل TypeMock التي يمكن أن تساعدك يسخر الأشياء الخاصة بك حتى لو كنت لا تكتب لهم باستخدام التبعية مبدأ حقن .

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

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