ฉันคิดว่าคุณควรมีการทดสอบหน่วยที่มีพฤติกรรมปัจจุบันและในความคิดเห็นเพิ่มการทดสอบที่ถูกต้องและพฤติกรรมที่เหมาะสม ตัวอย่าง:
@Test
public void test() {
// this is wrong, it should be fixed some time
Assert.assertEquals(2, new Calculator().plus(2,2));
// this is the expected behaviour, replace the above test when the fix is available
// Assert.assertEquals(4, new Calculator().plus(2, 2));
}
วิธีนี้เมื่อการแก้ไขพร้อมใช้งานบิลด์จะล้มเหลวแจ้งให้คุณทราบว่าการทดสอบล้มเหลว เมื่อคุณดูการทดสอบคุณจะรู้ว่าคุณได้เปลี่ยนพฤติกรรมและต้องทำการทดสอบ
แก้ไข: ตามที่กัปตันแมนกล่าวในโครงการขนาดใหญ่สิ่งนี้จะไม่ได้รับการแก้ไขในเวลาไม่นาน แต่เพื่อประโยชน์ของเอกสารคำตอบดั้งเดิมนั้นดีกว่าไม่มีอะไรเลย
วิธีที่ดีกว่าคือการทำซ้ำการทดสอบปัจจุบันทำให้โคลนยืนยันสิ่งที่ถูกต้องและ@Ignore
มีข้อความเช่น
@Test
public void test() {
Assert.assertEquals(2, new Calculator().plus(2,2));
}
@Ignore("fix me, Calculator is giving the wrong result, see ticket BUG-12345 and delete #test() when fixed")
@Test
public void fixMe() {
Assert.assertEquals(4, new Calculator().plus(2, 2));
}
สิ่งนี้มาพร้อมกับการประชุมในทีมของคุณเพื่อลดจำนวน@Ignore
การทดสอบ d เช่นเดียวกับที่คุณทำกับการแนะนำหรือเปลี่ยนแปลงการทดสอบเพื่อสะท้อนข้อผิดพลาดยกเว้นว่าคุณจะไม่สร้างบิลด์หากสิ่งนี้สำคัญสำหรับทีมของคุณเช่น OP กล่าวว่าการแก้ไขข้อผิดพลาดจะไม่รวมอยู่ในรีลีสปัจจุบัน .