.NET Core MSTest参数

codeday· 2019-11-11
本文来自 codeday ,作者 codeday
我有一个.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.