2017-05-16 54 views
1

我有一个.NET核心MSTest库,我想在命令行上传递一个参数给它。这样的事情:.NET核心MSTest参数

dotnet test -myparam=myvalue 

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

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

回答

1

您可以使用.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