Obsah:

Môžete unit testovať statické metódy?
Môžete unit testovať statické metódy?

Video: Môžete unit testovať statické metódy?

Video: Môžete unit testovať statické metódy?
Video: Connecting the Dots Between EDS and POTS - Presented by Dr. Satish R. Raj and Dr. Peter C. Rowe 2024, December
Anonim

Komu jednotka vás otestuje je potrebné vziať malý kúsok tvoj kód, prepojte jeho závislosti a test to v izolácii. S týmto je ťažké statické metódy nielen v prípade, že vstupujú do globálneho štátu, ale aj ak len volajú iným statické metódy.

Vzhľadom na to, ako testujete statické metódy?

Existujú štyri jednoduché kroky pri nastavovaní testu, ktorý zosmiešňuje statické volanie:

  1. Použite bežec PowerMock JUnit: @RunWith(PowerMockRunner.
  2. Vyhláste testovaciu triedu, za ktorú sa vysmievame:
  3. Povedzte PowerMock názov triedy, ktorá obsahuje statické metódy:
  4. Nastavte očakávania a povedzte PowerMock, aby očakával volanie statickej metódy:

Podobne môžeme zosmiešňovať statické metódy C#? 4 odpovede. Moq (a ďalšie založené na DynamicProxy posmievanie frameworky) nie sú schopné posmievať sa čokoľvek, čo nie je virtuálne alebo abstraktné metóda . prípadne mohol by si refaktorujte svoj dizajn na abstraktné výzvy statické metódy a poskytnite túto abstrakciu svojej triede prostredníctvom injekcie závislostí.

Ako v tejto súvislosti testujete súkromné metódy?

Jednotkový test iba verejne dostupné API. Pri písaní jednotkové testy , napodobňujú správanie klientov SUT. nie otestovať súkromné metódy . Buď jednotkový test ich nepriamo, pomocou verejného API, alebo ich extrahovať do samostatných tried a test namiesto toho tieto triedy.

Čo je to statická metóda?

V Jave, a statická metóda je a metóda ktorý patrí do triedy a nie do inštancie triedy. The metóda je prístupný pre každú inštanciu triedy, ale metódy definované v inštancii sú prístupné iba tomuto členovi triedy.

Odporúča: