FluentAssertions:int.Should().Equals返回错误的结果?

url*_*der 1 c# unit-testing moq fluent-assertions

我刚开始使用Moq&FluentAssertions并找到:

results.Results.Count.Should().Equals(1);
Run Code Online (Sandbox Code Playgroud)

在代码中,results.Results返回类List列表.在测试设置中,我将其设置为results.Results.Count = 3(我可以看到这个#在调试中也是正确的).但不知何故,上面的.Equals测试通过了.然后我把它改成了

results.Results.Count.Should().Equals("1");
Run Code Online (Sandbox Code Playgroud)

它仍然过去了.如果我使用它将失败

results.Results.Count.ShouldBeEquivalentTo(1);
Run Code Online (Sandbox Code Playgroud)

所以,问题是:

结果.Count.Should().等于("1")比较?为什么它过去了?

谢谢

Lee*_*Lee 13

results.Results.Count.Should().Equals(1);
Run Code Online (Sandbox Code Playgroud)

调用EqualsObject返回的对象继承的方法Should()返回一个bool被忽略的对象.你需要使用Be或者Equal例如

results.Results.Count.Should().Be(1);
Run Code Online (Sandbox Code Playgroud)