代码之家  ›  专栏  ›  技术社区  ›  Daniel Auger

MSTEST/VisualStudio2008团队测试如何决定测试方法的执行顺序?

  •  11
  • Daniel Auger  · 技术社区  · 16 年前

    我的印象是,单元测试类中的测试方法 would be executed in the order that they appear in the class file. 显然这不是真的。它似乎也不是完全基于字母顺序。MSTEST如何决定执行顺序?

    编辑:我挖了一点才找到答案。见下文。

    8 回复  |  直到 16 年前
        1
  •  12
  •   Daniel Auger    16 年前

    我找到了答案。

    According to Microsoft employee Guillermo Serrato :

    不确定性

        2
  •  2
  •   Dominic Hopton    15 年前

    在测试视图或测试列表编辑器中进行排序会使它们看起来像您拥有控制权一样——这只是实现的副产品。我们没有试图以特定的顺序实际执行它们(我们在“允许顺序”和“随机顺序”上来回奔波)。

    如果您真的需要顺序,这就是顺序测试的目的。在单元测试可用的所有版本中都可以使用这些功能——或者使用Test/New Test菜单,或者右键单击测试项目并创建“有序测试”

        3
  •  2
  •   Rashmi Rashmi    15 年前

    这很简单。我在用这个

    这里的逻辑是,默认情况下,mstest为您提供一个.trx文件。因此,在针对[/resultfile:]选项的命令中,通过指定.xml扩展名写入文件名。所以我使用了/resultsfile:C:\MyTestresults.xml而不是/resultsfile:C:\MyTestresults.trx

    这对我来说很好。让我知道它是否适合你。

        4
  •  2
  •   fyasar    15 年前

    根据我的经验(我有点努力) 我在MStest项目中对方法执行顺序的变更顺序做了很多思考。我将尝试描述这些步骤。

    1. 这些文件是在创建测试项目时由Visual Studio创建的。

    2. 关闭Visual Studio实例并重新打开它。

    3. 当VisualStudio打开时,您应该打开测试列表,或者在“测试列表”部分下创建自己的列表。创建新的测试列表后,它应该为空。

    4. 转到“所有已加载的测试”部分,然后按选择的顺序将任何测试拖到新创建的测试部分上。

    然后确保您上次创建的测试部分已选中,您可以按运行测试,瞧,它正在按照您定义的顺序运行。

    我们和我的同事一起测试了两次这种方法。

    好锁

        5
  •  2
  •   littleinstein    13 年前

    问题:我想做的是只运行包含在有序测试中的web测试。我使用的是一个有序测试,因此我可以按照我需要的特定顺序运行web测试。我有很多web测试,但我的有序测试包含这些web测试的子集,我想运行这些测试。 解决方案: 从测试视图窗口(测试|窗口|测试视图)中,选择OrderedTest并从那里运行它(您可以右键单击它并选择“运行选择”)。orderedtest将自动运行其中包含的所有webtests。

    您将在测试结果窗口(测试|窗口|测试结果)中显示结果;双击OrderedTest,您将在那里看到每个Web测试的详细结果。您可以双击每个webtest,您将能够看到每个webtest的详细结果。

        6
  •  1
  •   Preet Sangha    16 年前

    在视图中添加列和测试顺序的方法很多。我使用VSMDI文件,并按照其中指定的顺序运行它们。

        7
  •  -1
  •   Joel Martinez    16 年前

    不管他们按什么顺序运行。。。如果您的测试依赖于首先运行的另一个测试,则您的测试有缺陷:-)