Pisanie testów jednostkowych może być trudne, a czasem trzeba poświęcić dobry projekt wyłącznie w celu przetestowania.Często testowalność odpowiada dobrej konstrukcji, ale nie zawsze tak jest.Na przykład nie można używać klas końcowych i metod, metod prywatnych trzeba czasem chronić lub niepotrzebnie przenieść do współpracownika, metod statycznych należy unikać całkowicie i tak dalej, po prostu ze względu na ograniczenia istniejących ram.PowerMock to środowisko rozszerzające inne udawane biblioteki, takie jak EasyMock, o bardziej zaawansowane możliwości.PowerMock wykorzystuje niestandardowy moduł ładujący klasy i manipulację kodem bajtowym, aby umożliwić wyśmiewanie metod statycznych, konstruktorów, klas i metod końcowych, metod prywatnych, usuwania inicjalizatorów statycznych i innych.Korzystając z niestandardowego modułu ładującego klasy, nie trzeba wprowadzać żadnych zmian w IDE lub serwerach ciągłej integracji, co upraszcza adopcję.Programiści zaznajomieni z obsługiwanymi fałszywymi platformami uznają PowerMock za łatwy w użyciu, ponieważ cały oczekiwany interfejs API jest taki sam, zarówno w przypadku metod statycznych, jak i konstruktorów.PowerMock ma na celu rozszerzenie istniejących interfejsów API za pomocą niewielkiej liczby metod i adnotacji, aby włączyć dodatkowe funkcje.Obecnie PowerMock obsługuje EasyMock i Mockito .... Podczas pisania testów jednostkowych często przydatne jest ominięcie enkapsulacji, dlatego PowerMock zawiera kilka funkcji, które upraszczają odbicie szczególnie przydatne do testowania.Umożliwia to łatwy dostęp do stanu wewnętrznego, ale także upraszcza częściowe i prywatne kpiny.Należy pamiętać, że PowerMock jest przeznaczony głównie dla osób posiadających specjalistyczną wiedzę w zakresie testów jednostkowych.Oddanie go w ręce młodszych programistów może spowodować więcej szkody niż pożytku.