Pisanje testova na jedinice može biti naporno, a ponekad se za dobar dizajn mora žrtvovati isključivo svrha ispitivanja.Često testabilnost odgovara dobrom dizajnu, ali to nije uvijek slučaj.Na primjer, završne klase i metode se ne mogu koristiti, privatne metode se ponekad moraju zaštititi ili se nepotrebno premjestiti na suradnika, statičke metode treba izbjegavati u potpunosti, itd. Jednostavno zbog ograničenja postojećih okvira.PowerMock je okvir koji proširuje druge ismijane biblioteke, poput EasyMocka, s moćnijim mogućnostima.PowerMock koristi prilagođeni manipulator učitavačima i bajt kodima kako bi omogućio ruganje statičkim metodama, konstruktorima, završnim klasama i metodama, privatnim metodama, uklanjanjem statičkih inicijala i još mnogo toga.Korištenjem prilagođenog učitavača klasa ne moraju se raditi promjene na IDE-u ili poslužiteljima kontinuirane integracije što pojednostavljuje usvajanje.Programeri upoznati s podržanim okvirnim okvirima smatrat će da je PowerMock jednostavan za korištenje, budući da je čitav API očekivanja isti, kako za statičke metode, tako i za konstruktore.PowerMock ima za cilj proširiti postojeće API-je s malim brojem metoda i napomena kako bi se omogućile dodatne značajke.Trenutno PowerMock podržava EasyMock i Mockito .... Pri pisanju testova jedinice često je korisno zaobići enkapsulaciju i zato PowerMock uključuje nekoliko značajki koje pojednostavljuju odraz koji su posebno korisni za testiranje.To omogućava jednostavan pristup unutarnjem stanju, ali također pojednostavljuje djelomično i privatno izrugivanje.Imajte na umu da je PowerMock uglavnom namijenjen osobama sa stručnim znanjem za testiranje uređaja.Stavljanje u ruke mlađih programera može nanijeti više štete nego koristi.
powermock