gpt4 book ai didi

c# - Assert.AreEqual 在单元测试中失败

转载 作者:太空狗 更新时间:2023-10-29 20:43:53 26 4
gpt4 key购买 nike

我有以下单元测试:

string MtrlCode = "0";
Assessment target = new Assessment(MtrlCode);

List<string> EdgeCaseSymbolCodes = new List<string>(); //More than 3
EdgeCaseSymbolCodes.Add("FLA");
EdgeCaseSymbolCodes.Add("HAR");
EdgeCaseSymbolCodes.Add("COR");
EdgeCaseSymbolCodes.Add("ENVON");
EdgeCaseSymbolCodes.Add("ENVR");
EdgeCaseSymbolCodes.Add("EXP");

target.HazardSymbols = EdgeCaseSymbolCodes;

List<string> EdgeCaseSymbolCodesExpected = new List<string>(); //Should be 3
EdgeCaseSymbolCodesExpected.Add("FLA");
EdgeCaseSymbolCodesExpected.Add("HAR");
EdgeCaseSymbolCodesExpected.Add("COR");

System.Windows.Forms.MessageBox.Show(EdgeCaseSymbolCodesExpected[0] + EdgeCaseSymbolCodesExpected[1] + EdgeCaseSymbolCodesExpected[2] + " = \n" + target.HazardSymbols[0] + target.HazardSymbols[1] + target.HazardSymbols[2]);

Assert.AreEqual<List<string>>(EdgeCaseSymbolCodesExpected, target.HazardSymbols, "COSHH_2008.Custom_Classes.Assessment.setHazardSymbols Edge Case did not return the expected value.");

正在测试边缘情况(即 List<string> 具有超过 3 个元素的时间),所需输出仅返回前 3 个元素。

目前测试失败,我不得不求助于使用 MessageBox查看测试内部(由于未命中断点!)。

据我所知,元素是相同的,但我意识到 List<string> 可能还有其他不同之处对象,但我看不到它,因为从未命中断点。

我在 Visual Studio 2005 中找不到模块窗口。

您接下来的步骤是什么?

最佳答案

使用 CollectionAssert.AreEqual()

关于c# - Assert.AreEqual 在单元测试中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180780/

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