ฉันมีการทดสอบหน่วย (nUnit) หลายชั้นที่เรียกซ้อนกันวิธีการจะล้มเหลวหากทำงานผ่านการทดสอบหน่วย
ตามหลักการแล้วคุณจะใช้บางอย่างเช่นการเยาะเย้ยเพื่อตั้งค่าวัตถุที่วิธีนี้ขึ้นอยู่กับ แต่นี่เป็นรหัสของบุคคลที่สามและฉันไม่สามารถทำได้โดยไม่ต้องทำงานมาก
ฉันไม่ต้องการตั้งค่าวิธีการเฉพาะ nUnit - ที่นี่มีหลายระดับเกินไปและเป็นวิธีที่ไม่ดีในการทดสอบหน่วย
แต่สิ่งที่ฉันต้องการจะทำคือเพิ่มสิ่งนี้ให้ลึกลงไปใน call stack
#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
{
// Do some setup to avoid error
}
#endif
มีแนวคิดเกี่ยวกับวิธีการเขียน IsRunningInUnitTest อย่างไร?
ปล. ฉันรู้อยู่เต็มอกว่านี่ไม่ใช่การออกแบบที่ยอดเยี่ยม แต่ฉันคิดว่ามันดีกว่าทางเลือกอื่น