gpt4 book ai didi

c# - 使用 Assert.AreEqual() 比较两个对象

转载 作者:IT王子 更新时间:2023-10-29 04:08:52 31 4
gpt4 key购买 nike

我第一次在 Visual Studio C# 中编写测试用例,我有一个返回对象列表的方法,我想使用 Assert.AreEqual()< 将它与另一个对象列表进行比较 方法。

我尝试这样做,但即使两个对象相同,断言也会失败。

我想知道这个方法,两个参数是比较引用还是比较对象的内容,

我是否必须重载 == 运算符才能使其正常工作?

最佳答案

这些答案对于这个问题来说太复杂了。比较两个列表不需要覆盖,也不需要分解多个断言。 Microsoft 使用以下类 CollectionAssert。

CollectionAssert.AreEqual(expectedList, actualList)

这适用于列表、字典和任何其他实现 ICollection 接口(interface)的东西。

Microsoft 文档位于以下位置并详细说明了可以对集合进行的各种类型的断言

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.collectionassert.aspx

但是,正如@Bart 所提到的,这在(复杂)对象列表上无法按预期工作,对于这些情况,可能仍需要覆盖 Equals 方法。

关于c# - 使用 Assert.AreEqual() 比较两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547383/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com