我有一个 .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
以这种方式。
关于.NET Core MSTest 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44010766/