【问题标题】:Get tests to be executed in [SetUpFixture] while running via nunit3-console.exe通过 nunit3-console.exe 运行时获取要在 [SetUpFixture] 中执行的测试
【发布时间】:2018-10-01 23:10:23
【问题描述】:

我正在使用 NUnit.ConsoleRunner.3.8.0 运行 NUnit 3.10.1 测试。

问题是:如果运行过滤器中有特定的测试,我应该正确配置我的 SUT。这是一个非常痛苦的过程,所以我只想在应该运行一些特定的测试时才这样做。

有什么方法可以接收控制台运行程序运行的测试列表,最好是在 SetUpFixture 中?

【问题讨论】:

    标签: c# nunit nunit-3.0


    【解决方案1】:

    如果在与SetUpFixture 相同的命名空间(或后代)中选择任何 测试,则将运行SetUpFixture。如果没有选择,则不会运行。

    由于这就是SetUpFixtures 的工作方式,您应该组织您的测试,以便只有那些需要此配置步骤的测试位于SetUpFixture 涵盖的命名空间中。

    根据我与团队合作的经验,我发现他们有时会受到要求测试命名空间符合特定设计的标准(强制或自行选择)的阻碍。当使用像 NUnit 这样依赖命名空间结构来控制测试执行方式的系统时,这是一个坏主意。

    【讨论】:

    • 我想过这个,但是并行测试执行怎么样? SetUpFixture 中特定测试的 SUT 配置将开始,而其他 SetUpFixture 中的测试开始执行,它们将失败。
    • 并行性是另一回事。您应该首先让您的测试在允许一组 TestFixxture 的 SetUpFixture 正确执行的命名空间结构中正常工作。完成后,您可以使用属性来定义哪些可以并行运行,哪些不能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多