c# - 如何在 C# nunit 中断言字典?

标签 c# nunit moq

你知道我如何断言两个类型的字典

Dictionary<string,MyClass>

在我的单元测试项目中?

我尝试使用 CollectionsAssert 但它对我不起作用。我猜它需要简单的字典作为参数(例如字典)。我猜对我来说问题来自字典的第二个参数。你知道怎么做吗我可以断言这两个字典吗?

最佳答案

您没有说出您想对这两个字典断言什么,但我假设它们是相等的。

从 NUnit 3.0 开始,您可以像这样断言两个字典相等...

Assert.That(dictionary1, Is.EqualTo(dictionary2));

此断言检查 1. 字典包含相同数量的条目。 2. 字典包含完全相同的键。 3. 每个键的值相等。

第三步取决于类中包含的平等定义(如果有的话)。如果您没有重载类的相等性,那么当然会使用对象相等性。

如果这还不够,请编辑您的问题,不幸的是,这个问题相当模糊。除非您指定要断言它们的内容,否则说您想要“断言”两个对象是没有意义的。

关于c# - 如何在 C# nunit 中断言字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995345/

相关文章:

c# - 用于在代码隐藏中启用/禁用文本框的 ASP.NET 复选框

c# - 如何更新通过引用方法传递的通用列表?

c# - 只允许属性访问变量

c# - 应该和 Json.NET : This passes? ! JToken.Parse ("{}").ShouldBe ("hello");

mocking - 我应该在生产代码中使用模拟吗?

c# - 对包含两个项目的列表进行排序并在 C# 中转换为大写的错误结果

c# - 如何模拟在被测方法中实例化的对象

wcf - NUnit 异步测试导致 AppDomainUnloadedException

c# - 最小起订量要求?违背目的?

c# - 使用 NInject Mocking Kernel 模拟返回接口(interface)的方法