你知道我怎么能断言两个类型的字典
Dictionary<string,List<string>>
在我的单元测试项目中?
我尝试使用 CollectionsAssert 但它对我不起作用。我想它需要简单的字典作为参数(例如Dictionary<string,string>
)。我想我的问题来自字典的第二个参数。你知道我如何断言这些两本词典?
你知道我怎么能断言两个类型的字典
Dictionary<string,List<string>>
在我的单元测试项目中?
我尝试使用 CollectionsAssert 但它对我不起作用。我想它需要简单的字典作为参数(例如Dictionary<string,string>
)。我想我的问题来自字典的第二个参数。你知道我如何断言这些两本词典?
使用 Linq:
Dictionary.All(e => AnotherDictionary.Contains(e))
可以给你一个很好的错误信息的方法之一:
public string ToAssertableString(IDictionary<string,List<string>> dictionary) {
var pairStrings = dictionary.OrderBy(p => p.Key)
.Select(p => p.Key + ": " + string.Join(", ", p.Value));
return string.Join("; ", pairStrings);
}
// ...
Assert.AreEqual(ToAssertableString(dictionary1), ToAssertableString(dictionary2));