在FluentAssertions中,您可以使用不同的格式提出各种要求。
在这里,
简而言之,FluentAssertions 中将
x.Should().BeEquivalentTo(y);
x.ShouldBeEquivalentTo(y);
两者都是有效的断言。
为什么Should
是一个方法而不是一个属性?我没有看到任何例子中Should
带有参数,所以我认为它本来可以很容易地成为一个属性。
你也可以断言
x.Should().NotBeNull().And.BeEquivalentTo(y);
在这里,
And
是一个属性而不是一个方法。为什么 And
和 Should
不应该是相同类型的元素(方法/属性)呢?简而言之,FluentAssertions 中将
Should
设计成方法而不是属性是否有合理的原因?
And
属性进行链接。 - Luke Willis