2

我创建了一个看起来像这样的运行设置文件

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <TestRunParameters>
    <Parameter name ="environment" value="PROD" />
  </TestRunParameters>
</RunSettings>

然后在我的 TestSetup 部分(使用 LeanFT 进行 UI 测试)我指定目标环境包含在名为 environment 的参数下

string env= TestContext.Parameters["environment"];

这似乎不起作用,我没有收到任何特定的错误消息。这是执行此操作的正确方法,还是有更简单的方法来使用 Environment 和我传递到命令行的东西。

4

2 回答 2

4

您应该比“通过命令行”更具体,因为人们可以通过多种方式从命令行运行 NUnit 测试。

如果您正在使用nunit3-console.exe运行器,则使用该选项将运行参数传递给框架--params,例如:

nunit3-console my.test.dll --params "environment=PROD"

.runsettings文件是 Visual Studio 使用的工件,并且可以被 NUnit VS 适配器识别,但不能被 NUnit 本身识别。

您也可以从命令行使用它,使用vstest.console.exe. 如果这就是您正在使用的,您需要该/Settings选项来指定文件。

一个价格的两个答案!但是,如果您既不使用 nunit-console 也不 vstest.console使用,则必须再次询问。;-)

于 2017-11-03T17:45:30.263 回答
0

在测试中,您是否可以使用以下内容编写所有设置

   foreach (var name in TestContext.Parameters.Names)
   {
       Console.WriteLine("Parameter: {0} = {1}", name, TestContext.Parameters.Get(name))
   }
于 2017-11-03T14:29:41.947 回答