我目前正在将可以返回数千个值的SQL查询比较到List ..
我在Fluent Assertion中使用ShouldBeEquivalentTo()
,但它需要永远,这是不可接受的。有人知道如何快速完成这项工作吗?
使用X-unit我使用Assert.Equal
但是它无法比较List的属性,我读过我必须覆盖方法,但我不想添加任何复杂性。
我发现快速工作的唯一方法是Actual.Equals(Expected);
,但问题是如果没有某种框架,我无权访问contains();
等方法。
快速比较List属性的最佳方法是什么?我对VisualStudio和C#的其他工具或框架持开放态度。
感谢。
答案 0 :(得分:1)
你想测试什么? SQL查询的正确性?执行并返回查询的代码? Sql Server?为什么需要测试数千个结果?听起来像你(ab)使用xunit对真实数据进行集成或类似QA的测试。这不是单元测试的目的。
那就是说,我犯了类似的事情。有时您确实需要测试数据库(查询)。如果它是SQL查询或集成测试的“单元测试”,那么您应该使用更小的数据集。
有关比较列表,请参阅https://stackoverflow.com/a/22173807。
我认为真正的解决方案是减少您要比较的数据量,并确保您正在测试您真正打算测试的内容。