gpt4 book ai didi

c# - MSTest Assert.AreEqual 因字符串数组而失败

转载 作者:行者123 更新时间:2023-11-30 15:21:30 25 4
gpt4 key购买 nike

我正在进行一些单元测试,但不确定为什么这个特定测试会失败。

测试是为了断言自定义 View 引擎在正确的位置查找 View 。

在我的自定义 View 引擎中是这样的:

AreaMasterLocationFormats = new[]
{
"~/Areas/{2}/App/{1}/Views/{0}.cshtml",
"~/Areas/{2}/App/Shared/Views/{0}.cshtml"
};

在我的测试中是这样的:

string[] expected = new[]
{
"~/Areas/{2}/App/{1}/Views/{0}.cshtml",
"~/Areas/{2}/App/Shared/Views/{0}.cshtml"
};

CustomRazorViewEngine engine = new CustomRazorViewEngine();

Assert.AreEqual(expected, engine.AreaMasterLocationFormats);

测试失败并显示消息:

Message: Assert.AreEqual failed. Expected:<System.String[]>. Actual:<System.String[]>.

(s/o 的引用格式不喜欢其中的第二个 lt...)

我不确定为什么,因为当我调试测试时一切都很好。

最佳答案

您需要改用CollectionAssert:

CollectionAssert.AreEqual(expected, engine.AreaMasterLocationFormats);

参见 MSDN

关于c# - MSTest Assert.AreEqual 因字符串数组而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512777/

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