【问题标题】:C# Assert Comparing two Lists FluentAssertions XunitC# Assert 比较两个列表 FluentAssertions Xunit
【发布时间】:2016-06-07 21:46:46
【问题描述】:

我目前正在将可以返回数千个值的 SQL 查询与一个列表进行比较。

我在 Fluent Assertion 中使用ShouldBeEquivalentTo(),但它需要很长时间,这是不可接受的。有人知道如何快速做到这一点吗?

对于 X-unit,我使用了 Assert.Equal,但它无法比较列表的属性,我读到我必须重写该方法,但我不想增加任何复杂性。

我发现快速工作的唯一方法是 Actual.Equals(Expected); ,但问题是如果没有某种框架,我无法访问诸如 contains(); 之类的方法。

快速比较 List 属性的最佳方法是什么?我对 VisualStudio 和 C# 的其他工具或框架持开放态度。

谢谢。

【问题讨论】:

  • 澄清一下:对象有数千个属性?
  • 是的,它是一个包含数千个值的列表。

标签: c# sql visual-studio nunit xunit


【解决方案1】:

你想测试什么? SQL 查询的正确性?执行并返回查询的代码?数据库服务器?为什么需要测试数千个结果?在我看来,您正在(ab)使用 xunit 对真实数据运行集成或类似 QA 的测试。这不是单元测试的目的。

也就是说,我对做类似的事情感到内疚。有时您确实需要测试数据库(即查询)。如果它是 SQL 查询或集成测试的“单元测试”,您应该使用更小的数据集。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多