Hoe bespot je statische klasse?
Hoe bespot je statische klasse?

Video: Hoe bespot je statische klasse?

Video: Hoe bespot je statische klasse?
Video: What is “Static” class? When to use it? 2024, April
Anonim

Maak een interface voor DriverManager, bespotten deze interface, injecteer het via een soort afhankelijkheidsinjectie en verifieer dat bespotten . Observatie: Wanneer u belt statische methode: binnen een statisch entiteit, moet u de klas in @PrepareForTest. dan zou je de moeten voorbereiden klas deze code bevindt zich in.

Kunnen we hiervan de spot drijven met statische methoden?

Mockito stelt ons in staat om te creëren bespotten voorwerpen. Sinds statische methode: behoort tot de klas, er is geen manier in Mockito om mock statische methoden . Echter, wij kunnen gebruik PowerMock samen met het Mockito-framework om mock statische methoden.

kunnen we statische methoden C # bespotten? 4 antwoorden. Moq (en andere op DynamicProxy gebaseerde) bespotten kaders) niet in staat zijn om bespotten alles wat niet virtueel of abstract is methode . Alternatief, je zou kunnen refactor uw ontwerp naar abstracte oproepen naar statische methoden , en geef deze abstractie aan uw klas via afhankelijkheidsinjectie.

Evenzo vragen mensen: kunnen we statische methoden bespotten met behulp van MOQ?

Statische methoden belachelijk maken Gratis tools zoals Moq kan enkel en alleen bespotten interfaces of virtueel/abstract methoden op klassen met een openbare standaardconstructor. Indien jij moet echt mock statische methoden , jij een commerciële tool zoals Microsoft Fakes (onderdeel van Visual Studio Enterprise) of Typemock Isolator moeten gebruiken.

Waarom zijn statische methoden slecht?

In het universum van OO statische methoden zijn anti-materie. Dat hoeven ze niet te zijn slecht , maar ze zijn gevaarlijk, omdat ze verkeerd worden gebruikt. Er zijn slechts twee situaties waarin: statische methoden of variabelen worden gebruikt en het is geen gruwel. Statische methoden zijn waardevol en geldig methode van objectcreatie.

Aanbevolen: