Mundarija:
Video: Statik usullarni sinovdan o'tkaza olasizmi?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Kimga birlik sizni sinab ko'radi kichik qismini olish kerak sizning kod, uning bog'liqliklarini qayta o'tkazing va sinov u izolyatsiyada. Bu bilan qiyin statik usullar , nafaqat ular global holatga kirishda, balki hatto agar ular shunchaki boshqalarga qo'ng'iroq qilishadi statik usullar.
Buni hisobga olgan holda, statik usullarni qanday sinab ko'rasiz?
Statik qo'ng'iroqni masxara qiladigan testni o'rnatishda to'rtta oson qadam mavjud:
- PowerMock JUnit yuguruvchisidan foydalaning: @RunWith(PowerMockRunner.
- Biz masxara qilayotgan test sinfini e'lon qiling:
- PowerMock-ga statik usullarni o'z ichiga olgan sinf nomini ayting:
- PowerMock-ga statik usulga qo'ng'iroqni kutishini aytib, taxminlarni o'rnating:
Xuddi shunday, biz 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.
Shu munosabat bilan siz qanday qilib shaxsiy usullarni sinab ko'rasiz?
Birlik testi faqat hammaga ochiq API. Yozayotganda birlik sinovlari , SUT mijozlarining xatti-harakatlariga taqlid qiling. qilmang shaxsiy usullarni sinab ko'ring . Yoki birlik testi ularni bilvosita, umumiy API yordamida yoki alohida sinflarga ajratib oling va sinov o'rniga bu sinflar.
Statik usul nima?
Java tilida, a statik usul a usuli bu sinf misoliga emas, balki sinfga tegishli. The usuli sinfning har bir misoliga kirish mumkin, lekin usullari bir misolda aniqlanganlarga faqat sinfning o'sha a'zosi kirishi mumkin.
Tavsiya:
Xuddi shu nomga ega, lekin parametrlar deklaratsiyasi har xil bo'lgan bir sinf ichida ikki yoki undan ortiq usullarni aniqlash jarayoni nima?
Usulning haddan tashqari yuklanishi Usulning imzosi uning qaytish turidan, ko'rinishidan va u tashlashi mumkin bo'lgan istisnolardan iborat emas. Bir sinfda bir xil nomga ega, lekin turli parametrlarga ega bo'lgan ikki yoki undan ortiq usullarni aniqlash amaliyoti haddan tashqari yuklash usullari deb ataladi
C++ havolasi orqali ko'rsatgichni o'tkaza olasizmi?
C++ da ko‘rsatgichga havolani o‘tkazish Eslatma: C va C++ da “ko‘rsatkichdan ko‘rsatgich” dan foydalanishga ruxsat berilgan, ammo biz “Ko‘rsatkichga havola” dan faqat C++ da foydalanishimiz mumkin. Agar ko'rsatkich funksiyaga parametr sifatida uzatilsa va uni o'zgartirishga harakat qilinsa, ko'rsatgichga kiritilgan o'zgarishlar ushbu funktsiyadan tashqarida aks etmaydi
Rasmlarni iCloud-dan Shutterfly-ga o'tkaza olasizmi?
IPhone Shutterfly ilovasi telefoningizda saqlangan fotosuratlarni, shuningdek, iCloud-dagi har qanday umumiy albomdan yuklash imkonini beradi. Agar siz ularni yuklab olsangiz, ularni Shutterfly-ga yuklashingiz mumkin. Ularni qurilmangizga yuklab oling. Shutterfly ilovasini yuklab olganingizdan so'ng, ularning barchasini qurilmangizdan yuklashingiz mumkin bo'ladi
Parametrlarni ko'rinishga o'tkaza olasizmi?
Agar siz parametrlarni kiritishingiz mumkin bo'lgan foydalanuvchi tomonidan belgilangan funksiyadan foydalanishingiz kerak bo'lsa. Yo'q, ko'rinish jadvaldan SELECTdan farq qilmaydi. Ko'rinish oldindan belgilangan "SELECT" bayonotidan boshqa narsa emas. Shunday qilib, yagona haqiqiy javob: Yo'q, qila olmaysiz
Rozetkalarni parallel ravishda o'tkaza olasizmi?
Qurilma terminallari yordamida bir-biriga ulangan maishiy devor rozetkalarini ketma-ket simli sifatida tasvirlash odatiy holdir. Lekin, aslida, barcha uy rozetkalari har doim parallel ravishda simga ulanadi va hech qachon ketma-ket. Seriyali zanjirda oqim har bir qurilmadagi yuk orqali o'tishi kerak