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

时间:2016-06-15 21:55:07

标签: c# unit-testing moq fluent-assertions

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

results.Results.Count.Should().Equals(1);

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

results.Results.Count.Should().Equals("1");

它仍然过去了。如果我使用

,它将失败
results.Results.Count.ShouldBeEquivalentTo(1);

所以,问题是:

结果如何.Results.Count.Should()。等于(“1”)比较?为什么它过去了?

由于

1 个答案:

答案 0 :(得分:11)

results.Results.Count.Should().Equals(1);

正在调用Equals继承的Object方法,该方法返回Should()返回的bool被忽略的对象。您需要使用BeEqual例如

results.Results.Count.Should().Be(1);