gpt4 book ai didi

c# - x单元: Assert two List are equal?

转载 作者:行者123 更新时间:2023-12-01 22:52:42 25 4
gpt4 key购买 nike

我是 TDD 和 xUnit 的新手,所以我想测试我的方法,如下所示:

List<T> DeleteElements<T>(this List<T> a, List<T> b);

有我可以使用的断言方法吗?我认为这样的事情会很好

List<int> values = new List<int>() { 1, 2, 3 };
List<int> expected = new List<int>() { 1 };
List<int> actual = values.DeleteElements(new List<int>() { 2, 3 });

Assert.Exact(expected, actual);

有这样的事情吗?

最佳答案

2021 年 4 月 1 日更新

我建议使用FluentAssertions 。它拥有一个庞大的 IntelliSense 友好断言库,适用于许多用例,包括 collections

collection.Should().Equal(1, 2, 5, 8);
collection.Should().NotEqual(8, 2, 3, 5);
collection.Should().BeEquivalentTo(8, 2, 1, 5);
<小时/>

原始答案

xUnit.Net 可以识别集合,因此您只需要做

Assert.Equal(expected, actual); // Order is important

您可以在 CollectionAsserts.cs 中查看其他可用的集合断言

对于NUnit库集合比较方法有

CollectionAssert.AreEqual(IEnumerable, IEnumerable) // For sequences, order matters

CollectionAssert.AreEquivalent(IEnumerable, IEnumerable) // For sets, order doesn't matter

更多详细信息请参见:CollectionAssert

MbUnit 也有类似于 NUnit 的集合断言:Assert.Collections.cs

关于c# - x单元: Assert two List<T> are equal?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419659/

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