Sommario:

Riesci a testare i metodi statici?
Riesci a testare i metodi statici?

Video: Riesci a testare i metodi statici?

Video: Riesci a testare i metodi statici?
Video: Metodi per ANNULLARE IL PICCANTE! - Testiamoli! 2024, Maggio
Anonim

Per l'unità ti mette alla prova bisogno di prendere un piccolo pezzo di tuo codice, ricablare le sue dipendenze e test esso in isolamento. Questo è difficile con metodi statici , non solo nel caso in cui accedano allo stato globale ma anche Se chiamano solo altri metodi statici.

Considerando questo, come si testano i metodi statici?

Ci sono quattro semplici passaggi per impostare un test che simula una chiamata statica:

  1. Usa il corridore PowerMock JUnit: @RunWith(PowerMockRunner.
  2. Dichiara la classe di test che stiamo prendendo in giro:
  3. Indica a PowerMock il nome della classe che contiene metodi statici:
  4. Imposta le aspettative, dicendo a PowerMock di aspettarsi una chiamata a un metodo statico:

Allo stesso modo, possiamo deridere 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.

Rispetto a questo, come si eseguono test sui metodi privati?

Test unitario solo l'API pubblicamente disponibile. Quando si scrive test unitari , imitano il comportamento dei client del SUT. non farlo prova metodi privati . o test unitario indirettamente, utilizzando l'API pubblica, o estrarli in classi separate e test quelle classi invece.

Che cos'è un metodo statico?

In Java, a metodo statico è un metodo che appartiene a una classe piuttosto che a un'istanza di una classe. Il metodo è accessibile a ogni istanza di una classe, ma metodi definiti in un'istanza sono accessibili solo da quel membro di una classe.

Consigliato: