C# Assert.AreEqual失败。预期:<;(空)>;
我正在进行编码Ui测试。当我运行测试时:C# Assert.AreEqual失败。预期:<;(空)>;,c#,coded-ui-tests,C#,Coded Ui Tests,我正在进行编码Ui测试。当我运行测试时: public partial class UIMap { public UIMap() { this.TestInit(); } private HandlingUnitDataController huDC = new HandlingUnitDataController(); public DataTransferHandlingUnit testHU = new DataTransfe
public partial class UIMap
{
public UIMap()
{
this.TestInit();
}
private HandlingUnitDataController huDC = new HandlingUnitDataController();
public DataTransferHandlingUnit testHU = new DataTransferHandlingUnit();
public void pressEnter3()
{
List<DataTransferHandlingUnit> DataList;
DataList = huDC.GetHandlingUnits(null);
foreach (DataTransferHandlingUnit hu in DataList)
{
if (hu.idlabel == this.IdLabelInputParams.UIScannBoxEdit2Text)
{
testHU = hu;
break;
}
}
Assert.AreEqual(testHU.idlabel,this.IdLabelInputParams.UIScannBoxEdit2Text);
}
公共部分类UIMap
{
公共UIMap()
{
this.TestInit();
}
私有HandlingUnitDataController huDC=新的HandlingUnitDataController();
public DataTransferHandlingUnit testHU=new DataTransferHandlingUnit();
公共图书馆3(
{
列表数据列表;
DataList=huDC.GetHandlingUnits(null);
foreach(数据列表中的DataTransferHandlingUnit hu)
{
if(hu.idlabel==this.IdLabelInputParams.uiscanboxedit2text)
{
testHU=hu;
打破
}
}
AreEqual(testHU.idlabel,this.IdLabelInputParams.uiscanboxedit2text);
}
发生错误:
Assert.AreEqual预期失败:
我做错了什么?谢谢。我猜是这样
if (hu.idlabel == this.IdLabelInputParams.UIScannBoxEdit2Text)
所以你的评估不正确
public DataTransferHandlingUnit testHU = new DataTransferHandlingUnit();
仍然在testHU引用中,并且testHU.idlabel为null您是否可以对此进行调试以确认
testHU.idlabel
不为null?错误消息表示您期望null
,并且您的案例中的期望值为testHU.idlabel
。是的,testHU.idlabel不为null,期望值为testHU.idlabel。对于addini关于个人信息,我还有3种类似于此的测试方法,其中一种通过了测试,其余的出现了类似的错误。预期为空。我的想法也是朝着这个方向,但不知道如何解决这个问题。任何帮助都会很感激这是什么。IdLabelInputParams…它没有在您提供的代码中声明。public在“scannBox”文本框eingeben///公共字符串UIScannBoxEdit2Text=System.Guid.NewGuid().ToString().Substring(0,12)。替换(“-”,“4”)。替换(“a”,“0”)。替换(“b”,“3”)。替换(“c”,“2”)。替换(“d”,“4”)。替换(“e”,“6”)。替换(“f”,“7”)。替换(“g”,“8”)。替换(“h”,“9”);#endregion}
this.IdLabelInputParams用于获取键盘输入的随机生成值。您必须调试并进入该测试,我假设您正在为测试设置值,并查看未设置的原因。问题是,新生成和输入的随机数未包含在数据列表中。这就是为什么foreach循环n未找到任何匹配项,最后返回null。