Статикалык классты кантип шылдыңдайсыз?
Статикалык классты кантип шылдыңдайсыз?

Video: Статикалык классты кантип шылдыңдайсыз?

Video: Статикалык классты кантип шылдыңдайсыз?
Video: 1-класска кантип катташ керек? 2024, Май
Anonim

DriverManager үчүн интерфейс түзүү, шылдыңдоо Бул интерфейс, аны кандайдыр бир көз карандылык инъекциясы аркылуу сайыңыз жана аны текшериңиз шылдыңдоо . Байкоо: Сиз чакырганда статикалык ыкма ичинде а статикалык объект, сиз өзгөртүү керек класс @PrepareForTest ичинде. анда сиз даярдашыңыз керек класс бул код жайгашкан.

Биз статикалык ыкмаларды шылдыңдай алабызбы?

Mockito бизге түзүүгө мүмкүндүк берет шылдыңдоо объектилер. бери статикалык ыкма класска таандык, Мокитодо андайга жол жок статикалык ыкмалар . Бирок, биздин колубуздан келет үчүн Mockito алкагы менен бирге PowerMock колдонуңуз статикалык ыкмалар.

C# статикалык ыкмаларын шылдыңдай алабызбы? 4 Жооптор. Moq (жана башка DynamicProxy негизинде шылдыңдоо алкактар) кыла алышпайт шылдыңдоо виртуалдык же абстракттуу эмес бардык нерсе ыкмасы . Же болбосо, мүмкүн абстракттуу чалуулар үчүн дизайныңызды кайра өзгөртүңүз статикалык методдор , жана бул абстракцияны классыңызга көз карандылык инъекциясы аркылуу бериңиз.

Ошо сыяктуу эле, адамдар MOQ колдонуп статикалык ыкмаларды шылдыңдай алабызбы?

Статикалык методдорду шылдыңдоо сыяктуу бекер куралдар Moq болот гана шылдыңдоо интерфейстер же виртуалдык/абстрактуу ыкмалары жалпы демейки конструктор менен класстарда. Эгерде сен чындап керек статикалык ыкмалар , сен Microsoft Fakes (Visual Studio Enterprise бөлүгү) же Typemock Isolator сыяктуу коммерциялык куралды колдонуу керек.

Эмне үчүн статикалык ыкмалар жаман?

ОО ааламында статикалык методдор каршы зат болуп саналат. Алар болбошу керек жаман , бирок алар кооптуу, анткени алар туура эмес колдонулат. Качан эки гана жагдай бар статикалык методдор же өзгөрмөлөр колдонулуп жатат жана бул жийиркеничтүү эмес. Статикалык методдор баалуу жана жарактуу болуп саналат ыкмасы объектти түзүү.

Сунушталууда: