.NET Core MSTest 参数

标签 .net unit-testing mstest

我有一个 .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/

相关文章:

c# - Linq - 有没有办法从几个 linq 片段构建一个 linq 语句

.net - 为什么点符号在此正则表达式中不起作用?

java - 在 Maven 中测试 Clojure

c# - DelegatingHandler 设置 CurrentPrincipal

c# - ASP.NET 应用程序的单元测试配置

teamcity - TeamCity 测试内的相对路径

c# - 使用 ContinueWith 或 Async-Await 时的不同行为

.net - 为什么不对所有私有(private)方法使用静态方法?

reactjs - Ant Design 和 React 测试库

java - 使用 junit 测试 Java 中的无修饰符方法