การเขียนแบบทดสอบหน่วยการเรียนรู้อาจเป็นเรื่องยาก และบางครั้งการออกแบบที่ดีก็ต้องเสียสละเพื่อจุดประสงค์ในการทดสอบเพียงอย่างเดียว ความสามารถในการทดสอบมักจะสอดคล้องกับการออกแบบที่ดี แต่ก็ไม่ได้เป็นเช่นนั้นเสมอไป ตัวอย่างเช่น ไม่สามารถใช้คลาสและวิธีการขั้นสุดท้ายได้ บางครั้งวิธีการส่วนตัวจำเป็นต้องได้รับการปกป้องหรือย้ายไปยังผู้ทำงานร่วมกันโดยไม่จำเป็น วิธีการแบบคงที่ควรหลีกเลี่ยงโดยสิ้นเชิงและอื่นๆ เพียงเพราะข้อจำกัดของเฟรมเวิร์กที่มีอยู่
PowerMock เป็นเฟรมเวิร์กที่ขยายไลบรารีจำลองอื่น ๆ เช่น EasyMock ด้วยความสามารถที่ทรงพลังยิ่งขึ้น PowerMock ใช้การจัดการคลาสโหลดเดอร์และโค้ดไบต์แบบกำหนดเองเพื่อให้สามารถจำลองเมธอดแบบสแตติก ตัวสร้าง คลาสและวิธีการสุดท้าย เมธอดส่วนตัว การลบตัวเริ่มต้นแบบสแตติก และอื่นๆ อีกมากมาย การใช้คลาสโหลดเดอร์แบบกำหนดเอง ไม่จำเป็นต้องทำการเปลี่ยนแปลงกับ IDE หรือเซิร์ฟเวอร์การรวมอย่างต่อเนื่อง ซึ่งทำให้การปรับใช้ง่ายขึ้น นักพัฒนาที่คุ้นเคยกับเฟรมเวิร์กจำลองที่รองรับจะพบว่า PowerMock ใช้งานง่าย เนื่องจากคาดหวัง API ทั้งหมดเหมือนกัน ทั้งสำหรับวิธีการแบบคงที่และตัวสร้าง PowerMock มีเป้าหมายที่จะขยาย API ที่มีอยู่ด้วยวิธีการและคำอธิบายประกอบจำนวนเล็กน้อยเพื่อเปิดใช้งานคุณสมบัติพิเศษ ปัจจุบัน PowerMock รองรับ EasyMock และ Mockito
เมื่อเขียนการทดสอบหน่วย มักจะมีประโยชน์ในการเลี่ยงการห่อหุ้ม ดังนั้น PowerMock จึงมีคุณสมบัติหลายประการที่ช่วยลดความยุ่งยากในการสะท้อนซึ่งมีประโยชน์โดยเฉพาะสำหรับการทดสอบ ซึ่งช่วยให้เข้าถึงสถานะภายในได้ง่าย แต่ยังช่วยลดความยุ่งยากในการเยาะเย้ยบางส่วนและส่วนตัวอีกด้วย
โปรดทราบว่า PowerMock มีไว้สำหรับผู้ที่มีความรู้ความเชี่ยวชาญในการทดสอบหน่วยเป็นหลัก การมอบมันไว้ในมือของนักพัฒนารุ่นเยาว์อาจทำให้เกิดผลเสียมากกว่าผลดี
@PowerMockIgnore
ทั่วโลก รวมถึงการแก้ไขข้อบกพร่องและการปรับปรุงอื่น ๆ ดูบันทึกประจำรุ่นและบันทึกการเปลี่ยนแปลงเพื่อดูรายละเอียดข่าวเก่า
โปรดอ่านหลักเกณฑ์สำหรับผู้มีส่วนร่วมรายใหม่ก่อนเริ่มต้น
เข้าร่วมรายชื่อผู้รับจดหมายที่นี่เพื่อสอบถาม ข้อเสนอแนะ และการสนับสนุน