有什么区别:
subject.Should().Be(expected)subject.Should().Equals(expected)我总是使用Be(),但我现在有一个测试用例,其中Be()给出了不同的结果,然后Equals()。我的测试用例涉及一个结构并将其与该结构的默认值进行比较。
MyStruct subject = new MyStruct("value");
Assert.Equal(default, subject); // xUnit Assert => works
Assert.Equal(default(MyStruct), (object)subject); // xUnit Assert => works
subject.Should().Equals(default); // works
subject.Should().Be(default(MyStruct)); // FAILS!
Run Code Online (Sandbox Code Playgroud)
和Be()是Equal()相同的,这是 Fluent Assertions 中的错误吗?或者他们主张不同的事情?