【问题标题】:Print arbitrary property value in test output when collection comparison fails集合比较失败时在测试输出中打印任意属性值
【发布时间】:2019-07-19 19:41:41
【问题描述】:

当我使用 .BeEquivalentTo() 比较对象集合并且这些集合中的属性之间存在不匹配时,我在错误输出中得到如下内容:

Expected item[8].DaysExpiredMessage to be 
"In 8 days", but 
"In 9 days" differs near "9 d" (index 3).

但是,按索引引用集合项并不能帮助我调试测试。

是否可以在测试输出中包含对象的一些其他属性(例如,我的集合中的对象具有唯一的“Id”属性),以便在查看失败时可以清楚地识别项目?

【问题讨论】:

  • FWIW,即使您使用的是 NUnit,这与 NUnit 并不完全相关。该消息是以 fluent-assertions 使用 NUnit 的方式生成的。
  • 好的,我会删除错误的标签。
  • @Charlie,也许这只能通过 NUnit 的集合断言来实现?
  • 我不确定 fluent-assesrtions 在这里用它的等效性测试做了什么,所以我不确定。

标签: c# fluent-assertions


【解决方案1】:

不,很遗憾没有。这只是意味着您正在比较的集合的索引 8 处的项目具有缺少值的属性。

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2017-07-11
    相关资源
    最近更新 更多