我使用 Nunit3 版本中提供的 params 参数来传递多个参数。
但是,我无法使用 C# 测试装置获取它们。我已经搜索过但无法得到正确的结果。
有人可以向我提供有关如何在 C# 中获取这些 param 参数的指示吗?
任何帮助将不胜感激。提前致谢。
首先,确保您同时使用 NUnit console 3.4.1 和 NUnit Framework 3.4.1。
您的命令行选项--params:Code=XXX --params:Date=2011-05-16
看起来正确。您还可以用分号组合多个参数,--params:Code=XXX;Date=2011-05-16
要访问单元测试中的参数,请使用TestContext.Parameters.Get("Code")
在你的测试中。还有一个string Get(string key, string default)
and a T Get(string key, T default)
它做了一个Convert.ChangeType
.
目前还没有很好的记录,所以请参阅实现该功能的拉取请求 https://github.com/nunit/nunit/pull/1570/files了解更多信息。
这是一个测试示例,
[Test]
public void TestCommandLineParameters()
{
var code = TestContext.Parameters.Get("Code", "<unknown>");
var date = TestContext.Parameters.Get("Date", DateTime.MinValue);
TestContext.WriteLine($"Fetched test parameters {code} and {date}");
}
我使用命令行和 NUnit 3.4.1 运行它,
nunit3-console.exe --params:Code=XXX --params:Date=2011-05-16 .\nunit-v3.dll
在输出中,我看到
=> nunit.v3.TestParamsTest.TestCommandLineParameters
Fetched test parameters XXX and 2011-05-16 12:00:00 AM
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)