我有两个具有不同值的Iqueryable。我想使用FluentAssertions来比较Iqueryable中我的Unittests中的元素。
我所拥有的是以下内容:
[Fact]
public void TestCompareIQueryables()
{
// Arrange
var objects1 = new CustomObject[]
{
new CustomObject {
Code = "Code1",
Name = "Name1"
}
}.AsQueryable();
var objects2 = new CustomObject []
{
new CustomObject {
Code = "Code2",
Name = "Name2"
}
}.AsQueryable();
// Assert
objects1.Should().HaveSameCount(objects2);
objects1.Should().BeEquivalentTo(objects1);
objects1.Should().BeEquivalentTo(objects2);
}
当我运行这个事实时发生的事情是,它通过了,但我希望最后的应该()。BeEquivalentTo()失败。
我错过了一些让测试不符合预期的东西吗?如何正确比较两个IQueryable中的每个元素?
任何帮助,将不胜感激!
修复是在FluentAssertions的另一个调用中:
objects1.Should().BeSameAs(objects2);
这给出了预期的错误。