【问题标题】:How do I get unit tests to run continuously in Visual Studio如何让单元测试在 Visual Studio 中连续运行
【发布时间】:2023-04-09 13:21:01
【问题描述】:

也许我以错误的方式使用单元测试,但我有一个包含大量数据的非常大的数据库。

每组数据呈现不同的场景,场景数量过多,无法单独测试。因此,我决定获得足够覆盖率的最佳方法是尽可能多地对数据运行单元测试,看看它是否会中断,如果会,找出它发生的原因。

问题出在 Visual Studio 2008 中,我不知道如何多次运行单元测试。那可能吗?是否可以告诉 VS2008 在一段时间内连续运行并重新运行我的单元测试。

【问题讨论】:

    标签: visual-studio visual-studio-2008 unit-testing automation


    【解决方案1】:

    如果您不介意打破文本代码从头到尾直接运行而没有分支的模式。 您的数据驱动测试仍然可以由单元测试中的某种代码驱动。在 Visual Studio 中,您可以使用设置方法和拆卸方法。您也可以简单地将代码放入您的测试方法中,以循环测试各种组合的数据。 但是低级单元测试的一般经验法则是没有复杂的逻辑分支。今天我只是在写一些单元测试(又工作到很晚了……我知道,但我无法脱离计算机),并借此机会展开了一些 for 循环。仅仅是因为我不希望测试方法有任何复杂性。但是对于数据驱动的测试,我看不到任何替代方案。

    编辑: 抱歉,我这台电脑上没有 VS 2008,但我有 VS 2010。 1. 在解决方案资源管理器中找到您的单元测试配置文件。在 VS 2010 中,它被称为 local.testsetting 2. 双击它以显示它的属性。 3. 我发现的最接近的内容是在“Web 测试”对话框中,有一个标有“Fixed Run Count”的微调器值,可让您指定执行特定测试运行的次数。

    这可能不是最佳答案,但您提出了一个很好的问题。

    【讨论】:

    • 我不认为那是在 VS2008 中,我已经围绕无限循环进行了所有测试,并且将离开它。虽然现在,它会在遇到第一个 assert.fail 时停止。我想拥有它,让它继续运行,并在最后给我一个总结。
    • 将其置于无限循环中听起来不错。像这样测试耐久性是一种很好的实践方法。
    【解决方案2】:

    如果这对其他人有用,您可以使用ordered test 多次运行相同的测试。

    从测试菜单中,选择新测试并添加一个有序测试。然后,您可以多次将相同的测试添加到您订购的测试中。请注意有序测试窗口左下方的Continue after failure 选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      相关资源
      最近更新 更多