【问题标题】:Run Settings for XUnit testsXUnit 测试的运行设置
【发布时间】:2019-03-13 10:28:42
【问题描述】:

dotnet test documentation page 声明参数可以成对传递给单元测试。

RunSettings 参数

作为测试的 RunSettings 配置传递的参数。论据 在“--”之后指定为[name]=[value] 对(注意空格 后 - )。一个空格用于分隔多个[name]=[value] 对。

我正在使用 Xunit - 如何在我的测试代码中读取这些键/值对?

【问题讨论】:

标签: c# unit-testing .net-core xunit


【解决方案1】:

我已经通过使用Environment 类直接显式读取命令行参数解决了这个问题(注意:在撰写本文时不完整):

public class Parameters
{
    public static string GetCommandLineArg(params string[] args)
        => Environment.GetCommandLineArgs().SkipWhile(x => !args.Contains(x, StringComparer.InvariantCultureIgnoreCase)).Skip(1).FirstOrDefault();

    public static string ResultsDirectory => GetCommandLineArg("-r", "--result-directory");
    public static string Logger => GetCommandLineArg("-l", "--logger");
}

【讨论】:

  • 我正在处理同样的问题。现在已经过去几个月了,这就是你最终做的吗?是否有更多代码可以共享以加快下一个遇到此问题的人的速度?你会再次这样做还是改用 Nunit?
  • 在测试资源管理器中选择 .runsettings 文件时,此解决方案是否有效?
  • 只是在搜索这样的东西,为什么不读取“runsettings.json”文件,以获得相同的行为?
  • @MattLengenfelder 我没有在资源管理器中运行它,所以我没有尝试过。
  • @TomerW 我相信这就是我最后所做的,但一开始这样做有问题。我现在忘记了到底是什么,但我想我真的很努力地从命令行配置以避免写出 json 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 2018-07-16
  • 2015-11-20
  • 2018-01-12
  • 2017-10-04
  • 1970-01-01
相关资源
最近更新 更多