Сіз статикалық сыныпты қалай мазақ етесіз?
Сіз статикалық сыныпты қалай мазақ етесіз?

Бейне: Сіз статикалық сыныпты қалай мазақ етесіз?

Бейне: Сіз статикалық сыныпты қалай мазақ етесіз?
Бейне: 😔ОСЫ 7 ҚАТЕ ҮШІН АДАМДАР СІЗДІ БАҒАЛАМАЙДЫ! 2024, Қараша
Anonim

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

Біз статикалық әдістерді келеке ете аламыз ба?

Mockito бізге жасауға мүмкіндік береді мазақ ету нысандар. бері статикалық әдіс классқа жатады, Мокитода оған жол жоқ жалған статикалық әдістер . Дегенмен, Біз істей аламыз үшін Mockito құрылымымен бірге PowerMock пайдаланыңыз жалған статикалық әдістер.

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

Сол сияқты, адамдар сұрайды, біз MOQ көмегімен статикалық әдістерді келеке ете аламыз ба?

Статикалық әдістерді келеке ету сияқты тегін құралдар Moq болады тек мазақ ету интерфейстер немесе виртуалды/абстрактілі әдістері жалпы әдепкі конструкторы бар сыныптарда. Егер сен шын керек жалған статикалық әдістер , сен Microsoft Fakes (Visual Studio Enterprise бөлігі) немесе Typemock Isolator сияқты коммерциялық құралды пайдалану қажет.

Неліктен статикалық әдістер нашар?

OO ғаламында статикалық әдістер қарсы заттар болып табылады. Олардың болуы міндетті емес нашар , бірақ олар қауіпті, себебі олар дұрыс емес қолданылады. Тек екі жағдай бар статикалық әдістер немесе айнымалылар пайдаланылады және бұл жиіркенішті емес. Статикалық әдістер құнды және жарамды болып табылады әдіс объектінің құрылуы.

Ұсынылған: