【问题标题】:How to specify custom parameters, using xunit.runner.console如何使用 xunit.runner.console 指定自定义参数
【发布时间】:2016-08-15 09:48:04
【问题描述】:

我有一个 C#/Selenium/Specflow 测试套件,我使用 Jenkins 使用 xunit.console.exe 运行它。我需要将这些测试指向不同的环境(Test/QA/Prod 等),并希望使用命令行参数。

我调用的批处理命令是: "%WORKSPACE%\packages\xunit.runner.console.2.1.0\tools\xunit.console""%WORKSPACE%\[MyProject]\bin\Debug\eDC6.Test.Specs.dll" -xml test_output.xml

并希望包含一个额外的参数,例如:"-env=PROD",以将该作业指向特定环境。

我愿意接受更好的方法来做到这一点。

【问题讨论】:

    标签: c# selenium jenkins xunit.net


    【解决方案1】:

    对于这个解决方案,额外的命令行给了我更多的灵活性:

    "%WORKSPACE%\packages\xunit.runner.console.2.1.0\tools\xunit.console" "%WORKSPACE%[MyProject]\bin\Debug\eDC6.Test.Specs.dll" - TargEnv QAConfig.json - xml test_output.xml

    【讨论】:

      【解决方案2】:

      IIRC 我在 2010 年之前的 codeplex 时代,在 xunit 的论坛中提出并自我回答了这个问题,但无法在 atm 找到它(也许我是在 CodeRush 的测试运行器的上下文中问的)。无论哪种方式,以上都是当时的答案,它仍然是有意义的,因为它是测试运行器和 CI 工具中立的。

      这通常由环境变量解决,即使用GetEnvironmentVariable

      需要考虑的一点是,想要使用诸如 Visual Studio 之类的运行器的人将需要相应地进行调整。 .NET Core 对具有这种性质的环境选择器具有内在支持,这也可能是一种有用的方法,因为它可能会随着时间的推移在编辑器和其他工具中公开。

      最后,最低级别的 hack 可能是将其粘贴到 .config 设置中,即 <DllName>.dll.config 并执行必要的操作以通过那里。

      【讨论】:

        猜你喜欢
        • 2020-02-20
        • 1970-01-01
        • 2018-07-13
        • 2015-11-16
        • 2013-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多