Luk*_*uke 5 .net c# fluent-assertions
在FluentAssertions中,您可以以各种格式进行各种声明.
x.Should().BeEquivalentTo(y);
x.ShouldBeEquivalentTo(y);
Run Code Online (Sandbox Code Playgroud)
都是有效的断言.
为什么是Should方法而不是属性?我没有看到任何Should带参数的例子,所以在我看来它可能很容易成为一个属性.
你也可以断言
x.Should().NotBeNull().And.BeEquivalentTo(y);
Run Code Online (Sandbox Code Playgroud)
这里And是属性而不是方法.不应该And和Should每个都是相同类型的元素(方法/属性)?
TL; DRShould在FluentAssertions而不是属性中
设计方法的设计选择背后是否有正当理由?
Jam*_*ran 11
Should()是一个被添加到类的扩展方法x.您只能添加扩展方法 - C#没有扩展属性.
And是任何类NotBeNull()返回的属性.我们可以控制该类,并可以为其添加实际属性.