Tôi có một tình huống thực sự kỳ lạ khi sử dụng khung kiểm thử đơn vị Visual Studio. Thử nghiệm được trang trí là [TestMethod, ExpectedException(typeof(InvalidOperationException))]
không thành công với System.InvalidOperationException
.Thuộc tính ExpectedException không hoạt động
Nếu tôi xóa tất cả mã khỏi thử nghiệm (để đảm bảo nó không hề ném bất kỳ thứ gì) - nó sẽ chuyển. Nó giống như là ExpectedException
thậm chí không có ở đó ...
Nếu tôi bắt đầu một dự án trống với thử nghiệm giả không có gì ngoài việc ném InvalidOperationException
nó hoàn toàn hoạt động như mong đợi.
Xác minh rằng không phải ExpectedExceptionAttribute
cũng không phải InvalidOperationException
bị ghi đè. Không chắc chắn những gì khác để thử đây ...
EDIT: Cố định các vấn đề bằng cách loại bỏ tham chiếu đến Microsoft.VisualStudio.QualityTools.UnitTestFramework
v10.1 và v10.0 thêm. Không chắc tại sao điều này lại quan trọng hoặc tại sao các thuộc tính khác hoạt động tốt.
Nếu trong dự án vấn đề của bạn, bạn loại bỏ tất cả các mã từ các thử nghiệm và chỉ cần thêm một dòng để ném InvalidOperationException, mà làm việc như mong đợi (tức là đi mặc dù nó ném một ngoại lệ?) –
@MattSmith Không, kiểm tra không thành công. –
Vấn đề thú vị, tìm kiếm thú vị. – Eogcloud