通过命令行传递参数到Nunit
-
02-10-2019 - |
题
是否可以通过命令行将值传递给Nunit测试?我的测试使用一定的URL。我在不同的URL上有不同的代码实例,并希望通过命令行指定URL。 app.config不是一个选项,因为我想通过批处理文件运行不同URL的测试。
解决方案 2
目前似乎没有解决方案。最佳选择是使用Nunit项目文件,修改那里的设置,然后将解决方案文件传递给Runner。
其他提示
环境变量。
采用 set
从命令行或 <setenv>
来自南特。然后使用 Environment.GetEnvironmentVariable()
.
我也有类似的问题,Achim的答案使我走上了正确的轨道,对于其他读者来说
创建一个像示例这样的文件。像这样的nunit:
<NUnitProject>
<Settings activeconfig="local"/>
<Config name="local" configfile="App.config">
<assembly path="bin\Debug\example.dll"/>
</Config>
<Config name="dev" configfile="App.Dev.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
<Config name="test" configfile="App.Test.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
</NUnitProject>
所有文件 /路径(配置和汇编文件的)均相对于Nunit文件的位置。 app.config,app.dev.config等也是.NET配置文件。
接下来,当您为某个配置运行时,您会像这样执行它
nunit3-console.exe example.nunit /config:test
有关Nunit文件格式的更多信息 https://github.com/nunit/docs/wiki/nunit-project-xml-format
有关命令行参数的更多信息http://www.nunit.org/index.php?p=consolecommandline&r=2.2.5
NUnit3
现在允许传递参数。这是用法
nunit3-console [inputfiles] --params:Key=Value
来自 文档
- params | p =参数
表单名称中指定的测试参数=通过测试消耗的值。可以指定多个参数,通过分号分隔或多次重复 - Params选项。区分大小写。
您可以通过代码访问参数:
var value= TestContext.Parameters.Get("Key", "DefaultValue");
不隶属于 StackOverflow