MSTest Assert.AreEqual问题

时间:2011-10-22 16:33:28

标签: c# .net unit-testing mstest

所以我生成一个空的Dictionary<string,string>来与我的测试结果进行比较,然后我这样做:

Assert.AreEqual(retval, temp);

即使它们包含相同的确切数据也会失败。我也尝试使用这样的IsTrueAssert.IsTrue(retval.Equals(temp));即使它们是相同的也会失败。

我如何比较元素,而不是我假设它正在做的相同内存位置?

感谢。

2 个答案:

答案 0 :(得分:2)

你看过

吗?

.NET Dictionaries have same keys and values, but aren't "equal"

看起来是一个非常完整的答案。

答案 1 :(得分:0)

你可以做Assert.IsTrue(retval.SequenceEqual(temp)),虽然这也需要字典中元素的顺序相同。我不确定你是否希望你的平等测试是那么严格。

请参阅this question及其答案,了解如何比较字典的内容,无论顺序如何。