是否可以通过命令行将值传递给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");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top