كيفية السخرية أو كائن
-
03-07-2019 - |
سؤال
أنا أستخدم Mocks وحيد القرن لاختبار الوحدة السخرية من الكائنات. يستخدم DAL الخاص بنا CODESMITH لإنشاء رمز من قوالب .nettiers ، مما ينشئ هذه الفئات DATAREPOSTORY التي تحتوي على جميع طرق معاملة نوع CRUD إلى مصدر البيانات. في اختبار الوحدة ، أحاول السخرية من كائن مستودع البيانات هذا الذي لا يوجد لديه فئة واجهة لاستخدامها كعبادة.
باختصار ، هل استخدم أي شخص بنجاح وحيد القرن يسخر من السخرية من DataRepository التي تم إنشاؤها. ، وتجنب الحاجة إلى قاعدة بيانات اختبار ومعاملات حقيقية مقابل مصدر البيانات الذي يحتاج إلى هبوط في النهاية ؟؟
المحلول
لقد كنت أفكر في هذا الأمر لفترة من الوقت ، حيث لم يصعد أحد وكتب تطبيق Datarepository وهمية لـ Nettiers حتى الآن (على حد علمي).
نظرًا لأنني لا أهتم كثيرًا بخطوات لعب التسجيلات في Typemock و Rhinomocks ، فقد اخترت MOQ الأحدث ، والتي ستهتم بسعادة إما فئات Datarepository أو طبقة الخدمة التي تستدعي أنفسهم بأقل مشاحنات.
على افتراض أنك على .NET 3.5 ، أوصي بذلك.
نصائح أخرى
باختصار ، لا يمكن للكراين أن يسخر فقط من الأنواع التي هي إما واجهات أو فصول غير محصورة. وبعد ذلك ، يمكنك فقط تمييز الأساليب الظاهرية أو المجردة.
إذا كان هدفك هو استبدال dataRepository بتنفيذ وهمية ، فأعتقد أنه سيتعين عليك البحث في أطر عمل أكثر تطوراً مثل Typemock.
إذا كنت تتحكم في قوالب CS ، فهو خيار آخر هو استخدام القوالب لإنشاء تطبيقات DataRepository وهمية.