Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Assert.AreEqual失败。预期:<;(空)>;_C#_Coded Ui Tests - Fatal编程技术网

C# Assert.AreEqual失败。预期:<;(空)>;

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

我正在进行编码Ui测试。当我运行测试时:

 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。