gpt4 book ai didi

c# - 适当的断言消息

转载 作者:行者123 更新时间:2023-11-28 20:44:41 25 4
gpt4 key购买 nike

在测试中,我试图断言两个 TextSpan 列表的相等性/等效性,如下所示:

var expectedSpans = new List<TextSpan>()
{
new TextSpan { iStartLine = 1, iEndLine = 1, iStartIndex = 1, iEndIndex = 1}
};

var obtainedSpans = new List<TextSpan>()
{
new TextSpan { iStartLine = 2, iEndLine = 2, iStartIndex = 1, iEndIndex = 1}
};
Assert.That(obtainedSpans, Is.EqualTo(expectedSpans), "Unexpected spans found");

我收到的消息是:

Expected tags were not obtained.
Expected is <System.Collections.Generic.List`1[Microsoft.VisualStudio.TextManager.Interop.TextSpan]> with 1 elements, actual is <System.Collections.Generic.List`1[Microsoft.VisualStudio.TextManager.Interop.TextSpan]> with 1 elements
Values differ at index [0]
Expected: Microsoft.VisualStudio.TextManager.Interop.TextSpan
But was: Microsoft.VisualStudio.TextManager.Interop.TextSpan

我怎样才能得到更详细的消息,至少显示所有值,让我找出相等/等价丢失的地方?在等价断言的情况下,该消息也不提供信息。

最佳答案

您应该使用 CollectionAssert.AreEqual(expectedSpans, obtainedSpan, "Unexpected spans found") 进行正确的列表相等断言。

顺便说一句,两点:- 使用 Assert.AreEquals() 而不是 Assert.That(..., IsEqualTo())- 始终将 expected 放在 obtained 之前,以保证断言失败的可读性。

关于c# - 适当的断言消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17214801/

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