加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么这种测试方法失败了?

发布时间:2020-12-15 18:10:32 所属栏目:百科 来源:网络整理
导读:这是我的测试功能(c#,visual studio 2010): [TestMethod()]public void TestGetRelevantWeeks(){Listsbyte expected = new Listsbyte() { 2,1,52,51,50,49,48,47,46,45 };Listsbyte actual = new Listsbyte() { 2,45 };Assert.AreEqualListsbyte(expected,a
这是我的测试功能(c#,visual studio 2010):
[TestMethod()]
public void TestGetRelevantWeeks()
{
List<sbyte> expected = new List<sbyte>() { 2,1,52,51,50,49,48,47,46,45 };
List<sbyte> actual = new List<sbyte>() { 2,45 };
Assert.AreEqual<List<sbyte>>(expected,actual);
}

例外:
TestGetRelevantWeek失败Assert.AreEqual失败.
预期:System.Collections.Generic.List 1 [System.SByte].
实际:System.Collections.Generic.List 1 [System.SByte].

AreEqual只检查引用的相等性,而不是内容吗?

但是,异常消息会令人困惑.我也找不到通用列表的默认相等比较器的文档.

您能否帮助澄清测试失败的原因以及测试两个列表内容相等性的解决方案?

亲切的问候

解决方法

Does AreEqual only check equality of the reference,not the contents?

叶氏.

要测试内容,您可以:

Assert.AreEqual(expected.Count,actual.Count);
for (var i = 0; i < expected.Count; i++)
{
    Assert.AreEqual(expected[i],actual[i]);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读