.NET Core MSTest 参数

.NET Core MSTest Parameters

我有一个 .NET Core MSTest 库,我想在命令行上向它传递一个参数。像这样:

dotnet test -myparam=myvalue

我该如何做这样的事情,以及如何在代码中检索 "myparam" 的值。

注意:我可以以某种方式指定要使用的测试库的配置文件,而不仅仅是传递参数。

您可以使用 .runsettings 文件发送自定义参数。例如,我可以有以下 运行 设置文件:

<RunSettings>
  <TestRunParameters>  
    <Parameter name="foo" value="bar" />  
  </TestRunParameters>  
</RunSettings>

然后您可以通过 TestContext:

访问它
public TestContext TestContext { get; set; }

[TestMethod]
public void TestMethod1()
{
    Assert.AreEqual("bar", TestContext.Properties["foo"]);
}

最后,您在命令行上使用 --settings 参数指定 runsettings 文件:

dotnet test --settings test.runsettings

注意:支持通过命令行传递一些 runsettings 参数,但目前看来支持相当基础,而且似乎无法传递 TestRunParameters 这样。