Tôi đã phát hiện ra rằng đây dường như là hai cách thử nghiệm chính cho các trường hợp ngoại lệ:
Assert.Throws<Exception>(()=>MethodThatThrows());
[ExpectedException(typeof(Exception))]
Cái nào trong số này sẽ là tốt nhất? Có ai cung cấp lợi thế hơn người khác? Hay đơn giản chỉ là vấn đề sở thích cá nhân?
ExpectedException
thuộc tính, vì vậy đối với phiên bản 3+ chỉ có Assert.Throws
biến thể là phù hợp.
Assert.That(() => MethodThatThrows(), Throws.Exception)