【问题标题】:How do I compare two simple Dictionaries using BeEquivalentTo from FluentAssertions?如何使用 FluentAssertions 中的 BeEquivalentTo 比较两个简单的字典?
【发布时间】:2021-06-02 07:24:40
【问题描述】:

我创建了以下非常简单的测试,它是对我在野外遇到的场景的简化。

var actual = new JObject
{
    {"prop1" , "1"},
    {"prop2" , "2"},
};

var expected = new JObject
{
    {"prop1" , "3"},
    {"prop2" , "2"},
};

actual.Should().BeEquivalentTo(expected);
           

我有两个在一个键上不同的 JObject,如果它们不同,我希望测试失败并告诉我不同​​之处。

这通过了,但我不希望它通过,因为我已经提到了差异。我花了很多时间来定制等效检查,但没有运气。希望有人能指出我忽略了什么。

【问题讨论】:

    标签: fluent-assertions


    【解决方案1】:

    您还可以断言整个字典的相等性,其中键和值的相等性将使用它们的 Equals 实现来验证。

    参考FluentAssertions - Dictionaries

    喜欢

    actual.Should().Equal(expected);
    

    【讨论】:

    • 谢谢。明显很尴尬。我一心想用错误的方法来工作。
    猜你喜欢
    • 2018-09-02
    • 2018-09-25
    • 2019-07-14
    • 1970-01-01
    • 2013-04-15
    • 2022-07-22
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多