Statik sinfni qanday masxara qilasiz?
Statik sinfni qanday masxara qilasiz?

Video: Statik sinfni qanday masxara qilasiz?

Video: Statik sinfni qanday masxara qilasiz?
Video: O‘YIN DASTURLAR QANDAY YOZILADI|O‘YIN DASTUR MEXANIZMLARI|GAME ENGINE 2024, May
Anonim

DriverManager uchun interfeys yarating, masxara qilish ushbu interfeys, uni qandaydir qaramlik in'ektsiyasi orqali kiriting va buni tekshiring masxara qilish . Kuzatish: qo'ng'iroq qilganingizda statik usul a ichida statik ob'ektni o'zgartirishingiz kerak sinf @PrepareForTest da. keyin, siz tayyorlashingiz kerak bo'ladi sinf bu kod ichida joylashgan.

Shunday qilib, biz statik usullarni masxara qila olamizmi?

Mockito bizga yaratishga imkon beradi masxara qilish ob'ektlar. beri statik usul sinfga tegishli, Mokitoda bunga yo'l yo'q soxta statik usullar . Biroq, Biz bajara olamiz uchun Mockito ramkasi bilan birga PowerMock-dan foydalaning soxta statik usullar.

C# statik usullarni masxara qila olamizmi? 4 ta javob. Moq (va boshqa DynamicProxy-ga asoslangan masxara qilish ramkalar) qila olmaydi masxara qilish virtual yoki mavhum bo'lmagan har qanday narsa usuli . Shu bilan bir qatorda, Siz.. mumkin edi qo'ng'iroqlarni mavhum qilish uchun dizayningizni qayta tiklang statik usullar , va bu mavhumlikni sinfingizga qaramlik in'ektsiyasi orqali taqdim eting.

Xuddi shunday, odamlar MOQ yordamida statik usullarni masxara qila olamizmi?

Statik usullarni masxara qilish Bepul vositalar kabi Moq mumkin faqat masxara qilish interfeyslar yoki virtual/mavhum usullari umumiy standart konstruktorli sinflarda. Agar siz haqiqatdan ham kerak soxta statik usullar , siz Microsoft Fakes (Visual Studio Enterprise qismi) yoki Typemock Isolator kabi tijorat vositasidan foydalanish kerak.

Nima uchun statik usullar yomon?

OO koinotida statik usullar antimateriyadir. Ular bo'lishi shart emas yomon , lekin ular xavfli, chunki ular noto'g'ri ishlatilgan. Faqat ikkita holat mavjud statik usullar yoki o'zgaruvchilar ishlatilmoqda va bu jirkanchlik emas. Statik usullar qimmatli va haqiqiy hisoblanadi usuli ob'ektni yaratish.

Tavsiya: