سؤال

لدي اختبار وحدة ذلك

  1. يخلق وهمية
  2. يدعو طريقتي إلى اختبارها (حقن بلدي أيضا وهمي)
  3. يؤكد طريقة الأسلوب
  4. يتحقق من مكالمات وهمية

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

// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());

أو يجب أن أسميها مع تأكيد

// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));

عند التحقق من فشل في الحصول على استثناء على أي حال.
ما هي الطريقة الصحيحة للمسة التحقق؟

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

المحلول

VeriFyget يكفي، ويبدو أنه لا يضيف أي قيمة، فلماذا يضيف المزيد من Verbiage؟

نصائح أخرى

يجب استخدام طريقة LynotThrow لاختبار ما إذا كانت أساليبك الخاصة تلتزم بمواصفاتك.

باختصار، يشبه إضافة doynotThrow، وكأنك تقوم باختبار سلوك VeriFyget بدلا من سلوك Sut.

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

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