我在一个nunit.runsettings文件中有多个TestRunParameters.我怎样才能绕过它们



我有一个非常简单的nunit的.runsettings文件,看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<TestRunParameters>
<Parameter name="someParameterName" value="someExampleValue" />
<Parameter name="variable1" value="someExampleValue" />
<Parameter name="variable2" value="someExampleValue" />
</TestRunParameters>
</RunSettings>

我希望做的是在参数上循环,而不是按名称访问。

如果我只想要一个值,这是有效的:

var value = TestContext.Parameters["someParameterName"];

感觉这应该能绕过它们,但事实并非如此:

var allParams = TestContext.Parameters;
foreach (var item in allParams) {
//I'll want to get the items name and value here. 
}

我得到这个错误:

编译器错误CS1579 foreach语句无法对的变量进行操作类型"type1",因为"type2"不包含的公共定义"标识符">

我缺少什么??

这是因为TestContext.Parameters返回的TestParameters不是集合。

你能做的最好的事情是:

var allParams = TestContext.Parameters;
foreach (var name in allParams.Names)
{
//I'll want to get the items name and value here. 
var value = allParams[name];
Console.WriteLine($"{name} : {value}");
}

输出会像

someParameterName : someExampleValue
variable1 : someExampleValue
variable2 : someExampleValue

相关内容

  • 没有找到相关文章

最新更新