Skrivning af enhedsprøver kan være hårdt, og nogle gange skal et godt design ofres for det eneste formål med testbarhed.Ofte svarer testbarheden til godt design, men det er ikke altid tilfældet.F.eks. Kan ikke slutklasser og metoder bruges, private metoder skal undertiden beskyttes eller unødvendigt flyttes til en samarbejdspartner, statiske metoder skal undgås fuldstændigt og så videre simpelthen på grund af begrænsningerne i eksisterende rammer.PowerMock er en ramme, der udvider andre mock-biblioteker såsom EasyMock med mere kraftfulde funktioner.PowerMock bruger en brugerdefineret klasselaster og bytekode-manipulation for at muliggøre hån ved statiske metoder, konstruktører, slutklasser og metoder, private metoder, fjernelse af statiske initialiseringer og mere.Ved at bruge en brugerdefineret klasselaster behøver der ikke foretages ændringer til IDE- eller kontinuerlige integrationsservere, hvilket forenkler vedtagelsen.Udviklere, der er fortrolige med de understøttede mock-rammer, vil finde PowerMock let at bruge, da hele forventnings-API'et er det samme, både for statiske metoder og konstruktører.PowerMock sigter mod at udvide de eksisterende API'er med et lille antal metoder og kommentarer for at aktivere de ekstra funktioner.I øjeblikket understøtter PowerMock EasyMock og Mockito .... Når du skriver enhedstest er det ofte nyttigt at omgå indkapsling, og derfor indeholder PowerMock flere funktioner, der forenkler refleksion, der er specielt nyttig til test.Dette giver let adgang til intern tilstand, men forenkler også delvis og privat hån.Bemærk, at PowerMock hovedsageligt er beregnet til personer med ekspertviden inden for test af enheder.At lægge det i hænderne på juniorudviklere kan forårsage mere skade end gavn.
powermock