يمكن أن تكون اختبارات وحدة الكتابة صعبة ، ويجب التضحية في بعض الأحيان بالتصميم الجيد لغرض وحيد هو قابلية الاختبار.غالبًا ما تتوافق قابلية الاختبار مع التصميم الجيد ، ولكن هذا ليس هو الحال دائمًا.على سبيل المثال ، لا يمكن استخدام الفئات والأساليب النهائية ، حيث يلزم في بعض الأحيان حماية الطرق الخاصة أو نقلها دون داع إلى أحد المتعاونين ، ويجب تجنب الطرق الثابتة تمامًا وما إلى ذلك ببساطة بسبب قيود الأطر الحالية.PowerMock هو إطار يمد مكتبات وهمية أخرى مثل EasyMock بقدرات أكثر قوة.يستخدم PowerMock أداة للتحميل class classer و bytecode مخصصة للسخرية من الأساليب الثابتة والمنشئين والفئات والأساليب النهائية والطرق الخاصة وإزالة أدوات التهيئة الثابتة وغير ذلك الكثير.باستخدام أداة تحميل class classer مخصصة ، لا يلزم إجراء تغييرات على IDE أو خوادم التكامل المستمر التي تبسط عملية التبني.سيجد المطورون المطلعون على الأطر الوهمية المدعومة PowerMock سهلة الاستخدام ، نظرًا لأن API التوقعية بأكملها هي نفسها ، سواء بالنسبة للطرق الثابتة أو المنشئات.يهدف PowerMock إلى توسيع واجهات برمجة التطبيقات الحالية مع عدد صغير من الأساليب والشروح لتمكين الميزات الإضافية.يدعم PowerMock حاليًا EasyMock و Mockito .... عند اختبار وحدة الكتابة ، يكون من المفيد غالبًا تجاوز التغليف وبالتالي يتضمن PowerMock العديد من الميزات التي تبسط الانعكاس المفيد على وجه التحديد للاختبار.هذا يتيح سهولة الوصول إلى الحالة الداخلية ، ولكن أيضًا يبسط الاستهزاء الجزئي والخاص.يرجى ملاحظة أن PowerMock مخصص أساسًا للأشخاص الذين لديهم خبرة في اختبار الوحدة.قد يؤدي وضعه في أيدي المطورين الصغار إلى إلحاق ضرر أكبر من النفع.
powermock