Ai đó có thể cho tôi biết tại sao bài kiểm tra đơn vị này kiểm tra các trường hợp ngoại lệ không thành công? Rõ ràng thử nghiệm thực sự của tôi là kiểm tra mã khác nhưng tôi đang sử dụng Int32.Parse để hiển thị vấn đề.nUnit Assert.That (phương pháp, Throws.Exception) không bắt ngoại lệ
[Test]
public void MyTest()
{
Assert.That(Int32.Parse("abc"), Throws.Exception.TypeOf<FormatException>());
}
Kiểm tra không thành công, đưa ra lỗi này. Rõ ràng là tôi đang cố gắng để kiểm tra ngoại lệ này và tôi nghĩ rằng tôi đang thiếu một cái gì đó trong cú pháp của tôi.
Error 1 TestCase '.MyTest'
failed: System.FormatException : Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s)
dựa trên tài liệu tại Throws Constraint (NUnit 2.5)
Bạn cũng có thể làm điều này: 'Assert.Throws (() => Int32.Parse (" abc "));' –
Jaider
Tôi đã cố gắng gắn bó với phong cách Assert.That cho dự án này. Tôi không gắn bó với nó như tôi từng nghĩ. –