FluentAssertions: int.Should().Equals returns 错误的结果?
FluentAssertions: int.Should().Equals returns wrong result?
我刚开始使用 Moq & FluentAssertions 并发现:
results.Results.Count.Should().Equals(1);
在代码中,results.Results return 一个列表 class 列表。在测试设置中,我将其设置为 results.Results.Count = 3(我可以看到这个 # 在调试中也是正确的)。但不知何故,上面的 .Equals 测试通过了。然后我改成了
results.Results.Count.Should().Equals("1");
还是过去了。如果我使用
它将失败
results.Results.Count.ShouldBeEquivalentTo(1);
所以,问题是:
results.Results.Count.Should().Equals("1") 比较什么?为什么它通过了?
谢谢
results.Results.Count.Should().Equals(1);
正在对 Should()
返回的对象调用从 Object
继承的 Equals
方法,其中 returns 和 bool
被忽略。您需要使用 Be
或 Equal
例如
results.Results.Count.Should().Be(1);
我刚开始使用 Moq & FluentAssertions 并发现:
results.Results.Count.Should().Equals(1);
在代码中,results.Results return 一个列表 class 列表。在测试设置中,我将其设置为 results.Results.Count = 3(我可以看到这个 # 在调试中也是正确的)。但不知何故,上面的 .Equals 测试通过了。然后我改成了
results.Results.Count.Should().Equals("1");
还是过去了。如果我使用
它将失败results.Results.Count.ShouldBeEquivalentTo(1);
所以,问题是:
results.Results.Count.Should().Equals("1") 比较什么?为什么它通过了?
谢谢
results.Results.Count.Should().Equals(1);
正在对 Should()
返回的对象调用从 Object
继承的 Equals
方法,其中 returns 和 bool
被忽略。您需要使用 Be
或 Equal
例如
results.Results.Count.Should().Be(1);