我刚刚开始使用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”)比较?为什么它过去了?
由于
答案 0 :(得分:11)
results.Results.Count.Should().Equals(1);
正在调用Equals
继承的Object
方法,该方法返回Should()
返回的bool
被忽略的对象。您需要使用Be
或Equal
例如
results.Results.Count.Should().Be(1);