2016-06-07 63 views
0

我目前比较SQL查询可以返回数以千计的价值观,到列表..C#断言比较两个列表FluentAssertions的xUnit

我用流利的断言使用ShouldBeEquivalentTo(),但它需要永远,这是不可接受的。任何人都知道如何以快速的方式做到这一点?

随着X单元我使用Assert.Equal但它比较列表的属性失败,我读我必须重写该方法,但我不想添加任何复杂性。

我发现这种方法运行得很快的唯一方法是Actual.Equals(Expected);,但问题是我没有任何访问方法,如contains();没有某种框架。

快速比较列表属性的最佳方法是什么?我接受VisualStudio和C#的其他工具或框架。

谢谢。

+0

澄清:对象有成千上万的属性? –

+0

是的,它是一个包含数千个值的列表。 – Elsid

回答

1

你想要测试什么? SQL查询的正确性?执行并返回查询的代码? Sql Server?为什么你需要测试成千上万的结果?这听起来像你是(ab)使用xunit在真实数据上运行集成或类似QA的测试。这不是单元测试的目的。

这就是说,我犯了类似的事情。有时你确实需要测试数据库(即查询)。如果它是SQL查询或集成测试的“单元测试”,则应该使用更小的一组数据。

查看https://stackoverflow.com/a/22173807用于比较列表。

我认为真正的解决方案是减少您正在比较的数据量,并确保您正在测试您真正打算测试的内容。