gpt4 book ai didi

c# - 用 Xunit 比较两个列表

转载 作者:太空狗 更新时间:2023-10-30 00:48:35 24 4
gpt4 key购买 nike

我正在使用 xunit 进行单元测试,我有一个预期对象列表和一个实际对象列表。如何比较两个列表中每个对象的特定元素(日期)以查看它们是否相等?我找到了 Assert.Collection 方法,但我不知道它如何比较两个列表的内容。

最佳答案

您不需要 XUnit 细节。这个问题可以通过使用 LINQ 来解决。

要比较列表中的元素,只需使用:

Assert.True(isList[1] == shouldList[1]);

直接访问列表内容即可。如果不知道索引,可以使用 LINQ:

Assert.True(shouldList.Any(x => x == isList[1]);

这将检查 shouldList 是否包含任何等于 isList 中第二个元素的元素。

如果你想比较列表内容是否相同,不知道顺序,使用这样的东西:

Assert.True(shouldList.All(shouldItem => isList.Any(isItem => isItem == shouldItem)));

这会检查 shouldList 中的所有项目,确保 isList 中的至少一项是相同的。

备注:

我使用 == 运算符进行比较。这是否有效取决于列表的内容。你说你正在比较日期,这里 equals 将检查相等性,而不是身份。对于大多数引用类型,equals 只会比较身份。在这里,您要么覆盖默认的 equals 实现,要么比较自定义字段和属性,而不是使用 == 运算符。

关于c# - 用 Xunit 比较两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45284937/

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