MSTEST / Visual Studio 2008团队测试如何确定测试方法执行顺序?

时间:2008-11-13 23:52:29

标签: visual-studio-2008 mstest

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

编辑:我挖了一下后能够找到答案。见下文。

8 个答案:

答案 0 :(得分:11)

我能够找到答案。

According to Microsoft employee Guillermo Serrato

  

MSTest执行所有测试   同步,顺序是   非确定性

答案 1 :(得分:4)

这实际上就是这样做:使用此链接How to: Create an Ordered Test

答案 2 :(得分:2)

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

如果您真的需要订购,那就是订购测试的目的。这些可用于单元测试可用的所有版本 - 使用测试/新测试菜单,或右键单击测试项目并创建“有序测试”

答案 3 :(得分:2)

这很简单。我正在使用这个

C:> mstest /testcontainer:C:\MyTest.dll /resultsfile:C:\MyTestresults.xml

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

这对我来说很好。请让我知道这对你有没有用。

答案 4 :(得分:2)

根据我的经历(我很难) 我尝试了很多关于MStest项目中方法执行顺序的变更顺序的想法。我将尝试描述这些步骤。

  1. 您应该确保删除默认的.testrunco​​nfig和.vsmdi文件。 这些文件是在创建测试项目时由Visual Studio创建的。

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

  3. 当Visual Studio打开时,您应打开测试列表Edior,然后在“测试列表”部分下创建自己的列表。创建新测试列表后,它应为空。

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

  5. 然后确保检查上次创建的测试部分,然后按下运行测试并按照您定义的顺序运行它。

    我不知道这可能是错误或类似的东西,但它神奇地起作用。 我们和同事一起测试了这种方法。

    好锁

答案 5 :(得分:2)

问题:我想要做的只是运行我订购的测试中包含的Web测试。我正在使用有序测试,因此我可以按照我需要它们运行的​​特定顺序运行我的Web测试。我有很多web测试,但我的有序测试包含这些web测试的子集,我想跑。 解: 有序测试用于按特定顺序运行一组测试。 在Visual Studio / test项目中创建Orderer测试列表。 从测试视图窗口(测试| Windows |测试视图)中,选择OrderedTest并从那里运行它(您可以右键单击它并选择“运行选择”)。 orderedtest将自动运行其中包含的所有网络测试。

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

答案 6 :(得分:1)

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

答案 7 :(得分:-1)

它们运行的​​顺序无关紧要......如果您的测试依赖于另一个先运行的测试,那么您的测试是有缺陷的: - )