FluentAssertions比较两个IQueryable

时间:2019-02-20 12:04:02

标签: iqueryable fluent-assertions

我有两个具有不同值的Iqueryable。我想使用FluentAssertions比较单元测试的Iqueryable中的元素。

我有以下内容:

[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);
}

运行此事实时发生的事情是它过去了,但是我希望最后一个Should()。BeEquivalentTo()失败。

我是否缺少使测试无法按预期方式工作的内容?如何正确比较两个IQueryable中的每个元素?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

该修补程序在FluentAssertions的另一个电话中:

objects1.Should().BeSameAs(objects2);

这给出了预期的错误。