【发布时间】:2018-10-01 23:10:23
【问题描述】:
我正在使用 NUnit.ConsoleRunner.3.8.0 运行 NUnit 3.10.1 测试。
问题是:如果运行过滤器中有特定的测试,我应该正确配置我的 SUT。这是一个非常痛苦的过程,所以我只想在应该运行一些特定的测试时才这样做。
有什么方法可以接收控制台运行程序运行的测试列表,最好是在 SetUpFixture 中?
【问题讨论】:
我正在使用 NUnit.ConsoleRunner.3.8.0 运行 NUnit 3.10.1 测试。
问题是:如果运行过滤器中有特定的测试,我应该正确配置我的 SUT。这是一个非常痛苦的过程,所以我只想在应该运行一些特定的测试时才这样做。
有什么方法可以接收控制台运行程序运行的测试列表,最好是在 SetUpFixture 中?
【问题讨论】:
如果在与SetUpFixture 相同的命名空间(或后代)中选择任何 测试,则将运行SetUpFixture。如果没有选择,则不会运行。
由于这就是SetUpFixtures 的工作方式,您应该组织您的测试,以便只有那些需要此配置步骤的测试位于SetUpFixture 涵盖的命名空间中。
根据我与团队合作的经验,我发现他们有时会受到要求测试命名空间符合特定设计的标准(强制或自行选择)的阻碍。当使用像 NUnit 这样依赖命名空间结构来控制测试执行方式的系统时,这是一个坏主意。
【讨论】:
SetUpFixture 中特定测试的 SUT 配置将开始,而其他 SetUpFixture 中的测试开始执行,它们将失败。