Come si prende in giro la classe statica?
Come si prende in giro la classe statica?

Video: Come si prende in giro la classe statica?

Video: Come si prende in giro la classe statica?
Video: La mia reazione davanti a uno studente che mi dice “non ho capito“ 2024, Dicembre
Anonim

Creare un'interfaccia per DriverManager, deridere questa interfaccia, iniettala tramite una sorta di iniezione di dipendenza e verificala deridere . Osservazione: quando chiami metodo statico All'interno di una statico entità, è necessario modificare il classe in @PrepareForTest. poi, avresti bisogno di preparare il classe questo codice risiede in.

Quindi, possiamo prendere in giro i metodi statici?

Mockito ci permette di creare deridere oggetti. Da quando metodo statico appartiene alla classe, non c'è modo in Mockito per metodi statici simulati . Però, noi possiamo usa PowerMock insieme al framework Mockito per metodi statici simulati.

possiamo prendere in giro i metodi statici C#? 4 risposte. Moq (e altri basati su DynamicProxy beffardo quadri) non sono in grado di deridere tutto ciò che non è virtuale o astratto metodo . In alternativa, potresti rifattorizza il tuo design per astrarre le chiamate a metodi statici e fornisci questa astrazione alla tua classe tramite l'iniezione di dipendenza.

Allo stesso modo, le persone chiedono, possiamo prendere in giro i metodi statici usando MOQ?

Metodi statici beffardi Strumenti gratuiti come Moq può soltanto deridere interfacce o virtuale/astratto metodi su classi con un costruttore pubblico predefinito. Se tu bisogno di veramente metodi statici simulati , tu è necessario utilizzare uno strumento commerciale come Microsoft Fakes (parte di Visual Studio Enterprise) o Typemock Isolator.

Perché i metodi statici sono dannosi?

Nell'universo di OO metodi statici sono antimateria. Non devono essere cattivo , ma sono pericolosi, perché utilizzati in modo scorretto. Ci sono solo due situazioni in cui metodi statici o vengono utilizzate variabili e non è un abominio. Metodi statici sono un prezioso e valido metodo di creazione di oggetti.

Consigliato: