ฉันได้ค้นพบว่าสิ่งเหล่านี้ดูเหมือนจะเป็นสองวิธีหลักในการทดสอบข้อยกเว้น:
Assert.Throws<Exception>(()=>MethodThatThrows());
[ExpectedException(typeof(Exception))]
ข้อใดจะดีที่สุด ข้อเสนอหนึ่งมีข้อได้เปรียบเหนือสิ่งอื่นหรือไม่? หรือมันเป็นเพียงเรื่องของการตั้งค่าส่วนตัว?
ExpectedException
แอตทริบิวต์อีกต่อไปดังนั้นสำหรับรุ่น 3 ขึ้นไปเฉพาะAssert.Throws
รุ่นที่เกี่ยวข้องเท่านั้น
Assert.That(() => MethodThatThrows(), Throws.Exception)