Písacie jednotky testy môžu byť ťažké a niekedy dobrý dizajn musí byť obetovaný iba za účelom testovateľnosti.Testovateľnosť často zodpovedá dobrému dizajnu, ale nie vždy tomu tak je.Napríklad konečné triedy a metódy sa nemôžu použiť, súkromné metódy sa niekedy musia chrániť alebo zbytočne presunúť na spolupracovníka, statickým metódam by sa malo úplne a tak ďalej vyhnúť, a to jednoducho z dôvodu obmedzení existujúcich rámcov.PowerMock je rámec, ktorý rozširuje ďalšie falošné knižnice, napríklad EasyMock, o výkonnejšie funkcie.PowerMock používa vlastnú manipuláciu s triedami a bajtovými kódmi, aby umožnil zosmiešňovanie statických metód, konštruktorov, konečných tried a metód, súkromných metód, odstraňovania statických inicializátorov a ďalších.Pri použití vlastného Classloadera nemusia byť vykonané žiadne zmeny na IDE alebo serveroch na kontinuálnu integráciu, čo zjednodušuje prijatie.Vývojári, ktorí sú oboznámení s podporovanými simulovanými rámcami, nájdu PowerMock ľahko použiteľným, pretože celé API očakávania je rovnaké, tak pre statické metódy, ako aj pre staviteľov.Cieľom PowerMock je rozšíriť existujúce API o malý počet metód a anotácií, aby sa umožnili ďalšie funkcie.V súčasnosti PowerMock podporuje EasyMock a Mockito .... Pri písaní testov jednotky je často užitočné obísť enkapsuláciu, a preto PowerMock obsahuje niekoľko funkcií, ktoré zjednodušujú odrazy zvlášť užitočné pre testovanie.To umožňuje ľahký prístup k vnútornému stavu, ale tiež zjednodušuje čiastočné a súkromné zosmiešňovanie.Upozorňujeme, že PowerMock je určený predovšetkým pre ľudí s odbornými znalosťami v testovaní jednotiek.Uvedenie do rúk juniorských vývojárov môže spôsobiť viac škody ako úžitku.
powermock