অ্যাডেন্ডেন্ডাম: অন্য উত্তরটি যেমন বলেছে, এর উদ্দেশ্য .Verifiable
হ'ল Setup
"মুলতুবি Verify(...)
কল" এর একটি সেটে তালিকাভুক্ত করা যা এর মাধ্যমে ট্রিগার করা যায় mock.Verify()
।
ওপি'র স্পষ্টতা এটিকে পরিষ্কার করে দিয়েছে যে এটিই লক্ষ্য ছিল এবং একমাত্র সমস্যাটি কেন কাজ করছে না তা নির্ধারণ করছিল, তবে @ লিয়াম আরও বাড়িয়ে দিলে উত্তরটির সত্যিকার অর্থেও এই বিষয়টি স্পর্শ করা উচিত: - মূল ব্যবহারের ক্ষেত্রে যতদূর আমি পারি দেখুন:
- একটি
mock.Setup()
এবং মধ্যে DRYness বজায় রাখাmock.Verify
- একজনকে আসল
Verify
কল থেকে একটি যাচাইকরণের কনফিগারেশনটি সংযোগ বিচ্ছিন্ন করার অনুমতি দেওয়া (যেমন, আপনি এটি অন্য সহায়ক পদ্ধতিতে সেট আপ করতে পারেন)
... এবং আমার উত্তর ফিরে, যা নিখুঁতভাবে কার্যকরভাবে বলেছে "সাবধান থাকুন যেহেতু উপরের উপকারগুলি সাধারনত এই লক্ষ্যগুলি অর্জনের পরীক্ষার স্থায়িত্ব এবং রক্ষণাবেক্ষণের উপর যে প্রভাব ফেলে যা এই ধরণের গঠনগুলির উপর অত্যধিক ঝুঁকিতে পড়েছে দ্বারা প্রভাবিত হয়ে যায়"
মূল: লক্ষ্য করুন যেখানে সম্ভব, এক পরিবর্তে অনুসরণ করা উচিত AAA যাচাই বিন্যাস এবং অত: পর একটি হতে হবে স্পষ্ট করছেন mock.Verify( expression )
কল পর কাজ, কাজ করা হয়েছে বরং একটি তুলনায় mock.Setup( ... ).Verifiable()
একটি সঙ্গে যুক্ত করা mock.Verify()
বাmock.VerifyAll()
যেখানে সম্ভব (ক্রেডিট: @kzu )।