نوشتن تست های واحد می تواند سخت باشد و گاهی اوقات طراحی خوب باید صرفاً هدف آزمایش انجام شود.غالباً قابلیت تست با طراحی خوب مطابقت دارد ، اما همیشه اینگونه نیست.به عنوان مثال کلاسها و روشهای نهایی قابل استفاده نیستند ، بعضی اوقات روشهای خصوصی باید محافظت شوند یا به طور غیر ضروری به یک همکار منتقل شوند ، به دلیل محدودیتهای موجود در چارچوبهای موجود ، باید از روشهای ایستایی کاملاً اجتناب شود.PowerMock چارچوبی است که سایر کتابخانه های مسخره مانند EasyMock را با قابلیت های قدرتمندتر گسترش می دهد.PowerMock از یک لودر سفارشی و دستکاری بایت کد استفاده می کند تا مسخره کردن روش های استاتیک ، سازنده ها ، کلاس ها و روش های نهایی ، روش های خصوصی ، حذف اولیه سازنده های ایستا و موارد دیگر را امکان پذیر کند.با استفاده از یک کلاس لودر سفارشی ، نیازی به تغییر در سرورهای IDE یا ادغام مداوم نیست که تصویب آن را ساده می کند.توسعه دهندگان با چارچوب های مسخره پشتیبانی شده ، PowerMock را آسان می یابند ، زیرا کل API انتظار یکسان است ، هم برای روش های استاتیک و هم برای سازندگان.PowerMock با هدف گسترش API های موجود با تعداد کمی از روش ها و حاشیه نویسی ها برای فعال کردن ویژگی های اضافی.در حال حاضر PowerMock از EasyMock و Mockito پشتیبانی می کند .... هنگام نوشتن تست های واحد ، غالباً دور زدن محفظه سازی مفید است و بنابراین PowerMock شامل چندین ویژگی است که بازتاب را به طور خاص برای آزمایش ساده می کند.این امکان دسترسی آسان به وضعیت داخلی را فراهم می کند ، اما مسخره کردن جزئی و خصوصی را نیز ساده می کند.لطفا توجه داشته باشید که PowerMock عمدتاً برای افراد با دانش متخصص در آزمایش واحد در نظر گرفته شده است.قرار دادن آن به دست توسعه دهندگان خردسال ممکن است باعث صدمه بیشتر از خوب شود.