การทดสอบหน่วยของคุณจะล้มเหลวอยู่ดีหากมีข้อยกเว้น - คุณไม่จำเป็นต้องใส่คำยืนยันพิเศษ
นี่เป็นหนึ่งในไม่กี่สถานการณ์ที่คุณจะเห็นการทดสอบหน่วยโดยไม่มีการยืนยันใด ๆ - การทดสอบจะล้มเหลวโดยปริยายหากมีการเพิ่มข้อยกเว้น
อย่างไรก็ตามหากคุณไม่ต้องการเขียนคำยืนยันสำหรับสิ่งนี้จริงๆ - อาจสามารถจับข้อยกเว้นและรายงานว่า "คาดว่าจะไม่มีข้อยกเว้น แต่ได้รับสิ่งนี้ ... " คุณสามารถทำได้:
[Test]
public void TestNoExceptionIsThrownByMethodUnderTest()
{
var myObject = new MyObject();
try
{
myObject.MethodUnderTest();
}
catch (Exception ex)
{
Assert.Fail("Expected no exception, but got: " + ex.Message);
}
}
(ด้านบนเป็นตัวอย่างสำหรับ NUnit แต่สิ่งเดียวกันนี้ถือเป็นจริงสำหรับ MSTest)