Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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# 如果不是String类型,如何在Speclow BDD测试中设置参数_C#_Bdd_Specflow - Fatal编程技术网

C# 如果不是String类型,如何在Speclow BDD测试中设置参数

C# 如果不是String类型,如何在Speclow BDD测试中设置参数,c#,bdd,specflow,C#,Bdd,Specflow,在BDD测试中,我必须使用参数类型Astra.Package.Entities.Data.Fixture。 在我将“(.*)”放入Then步骤的情况下,我得到以下异常: 信息: System.InvalidCastException:从“System.String”到“Astra.Package.Entities.Data.Fixture”的转换无效 在这种情况下,如何在BDD Specflow测试中设置参数?您可以使用将步骤的一部分转换为不同类型的对象: [绑定] 公共类转换 { [StepA

在BDD测试中,我必须使用参数类型Astra.Package.Entities.Data.Fixture。 在我将“(.*)”放入Then步骤的情况下,我得到以下异常:

信息:

System.InvalidCastException:从“System.String”到“Astra.Package.Entities.Data.Fixture”的转换无效

在这种情况下,如何在BDD Specflow测试中设置参数?

您可以使用将步骤的一部分转换为不同类型的对象:

[绑定]
公共类转换
{
[StepArgumentTransformation(@“(.*))]
公共设备ConvertToFixture(字符串文本)
{
//将“文本”转换为设备对象
}
}
SpecFlow将自动将步骤参数的类型与步骤参数转换的返回类型相匹配。您的步骤可以保持不变:

[然后(@“…)]
公共无效,则应在IPM上添加数据(固定装置嵌入固定装置)
{
// ...
}
您可以使用将步骤的一部分转换为不同类型的对象:

[绑定]
公共类转换
{
[StepArgumentTransformation(@“(.*))]
公共设备ConvertToFixture(字符串文本)
{
//将“文本”转换为设备对象
}
}
SpecFlow将自动将步骤参数的类型与步骤参数转换的返回类型相匹配。您的步骤可以保持不变:

[然后(@“…)]
公共无效,则应在IPM上添加数据(固定装置嵌入固定装置)
{
// ...
}