ฉันมีโค้ดที่ดูเหมือนอะไรเช่นนี้:
function bool PassesBusinessRules()
{
bool meetsBusinessRules = false;
if (PassesBusinessRule1
&& PassesBusinessRule2
&& PassesBusinessRule3)
{
meetsBusinessRules= true;
}
return meetsBusinessRules;
}
ฉันเชื่อว่าควรมีการทดสอบสี่หน่วยสำหรับฟังก์ชั่นนี้โดยเฉพาะ สามเพื่อทดสอบแต่ละเงื่อนไขในคำสั่ง if และตรวจสอบให้แน่ใจว่ามันคืนเท็จ และการทดสอบอีกอย่างหนึ่งที่ทำให้แน่ใจว่าฟังก์ชันนั้นคืนค่าจริง
คำถาม:จริง ๆ แล้วควรมีการทดสอบสิบหน่วยแทนหรือไม่ เก้าที่ตรวจสอบแต่ละเส้นทางของความล้มเหลวที่เป็นไปได้ IE:
- เท็จเท็จเท็จ
- เท็จเท็จจริง
- เท็จจริงเท็จ
และอื่น ๆ สำหรับแต่ละชุดค่าผสมที่เป็นไปได้
ฉันคิดว่ามันเกินความจริง แต่สมาชิกคนอื่น ๆ ในทีมของฉันทำไม่ได้ วิธีที่ฉันดูคือถ้า BusinessRule1 ล้มเหลวก็ควรกลับเท็จเสมอมันไม่สำคัญว่ามันจะถูกตรวจสอบครั้งแรกหรือครั้งสุดท้าย