Thông thường bạn kiểm tra, nếu một ngoại lệ được ném vào một phương pháp nhất định, như sau. tôi sử dụng FluentAssertions:Có thích hợp hơn để kiểm tra xem nhà xây dựng có ném ngoại lệ không?
[Fact]
public void Exception_gets_thrown()
{
// Arrange
var foo = new Foo("validArgument");
// Act/Assert
foo.Invoking(f => f.Bar(null)) // null is an invalid argument
.ShouldThrow<ArgumentNullException>();
}
Nhưng làm thế nào để kiểm tra, nếu một ngoại lệ được ném vào các nhà xây dựng? Tôi chỉ làm như vậy, nhưng có cách nào phù hợp hơn qua FluentAssertions?
[Fact]
public void Constructor_throws_Exception()
{
// Arrange
Action a =() => new Foo(null); // null is an invalid argument
// Act/Assert
a.ShouldThrow<ArgumentNullException>();
}
Tôi không biết thư viện, nhưng tôi thích những gì bạn đã làm –