我有两个具有不同值的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中的每个元素?
任何帮助将不胜感激!
答案 0 :(得分:0)
该修补程序在FluentAssertions的另一个电话中:
objects1.Should().BeSameAs(objects2);
这给出了预期的错误。