【问题标题】:Rerunning groups of tests in xunit for diferent program modes在 xunit 中针对不同的程序模式运行测试组
【发布时间】:2019-02-14 01:26:41
【问题描述】:

我有一个程序可以在三种模式下运行,每种模式都有不同的操作逻辑和不同的数据集。

我正在使用 XUnit 向这个项目添加单元测试,并希望有一组测试为每种程序模式触发一次。

我可以对每个测试使用 [InlineData()] 来执行此操作,其值范围为 1-3,然后从数组中选择每种模式。然而,这种方法的问题是切换模式大约需要 20 秒,我宁愿让我的一组测试为我的三种模式中的每一种运行一次,而不是每次运行测试时都改变模式。

是否有人对我如何为 N 种不同模式调用一组测试有任何建议,每种模式都有不同的数据集,每种模式只切换一次?

【问题讨论】:

  • 有一个基本类型和 3x 具体版本是正常的方式
  • 感谢 Ruben,我最终按照您的建议使用了继承。如果你把答案作为答案,我会接受

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


【解决方案1】:

通常,通过在abstract class 中将测试实现为(通常为private)测试方法来解决某种问题,然后根据您有兴趣使用的配置创建具体的派生类 - 测试将根据具体类。

您可以使用the relevant various xUnit mechanisms 在每个类的测试之间或在它们之间共享状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2015-09-07
    • 2015-12-10
    • 2015-12-10
    • 2018-11-16
    相关资源
    最近更新 更多