1

我的测试解决方案中有一些测试必须先运行,否则以后的测试将失败。我想要一种方法来确保这些首先以特定的顺序运行。除了使用 .orderedtest 文件之外,还有其他方法吗?.orderedtest 的一些问题:

  • 某些测试应在“设置”测试完成后以随机顺序运行
  • 有序测试似乎没有调用 ClassInitialize 方法
  • 在 VS/TFS 2012 中,orderedtest 不是已弃用的表单或测试列表吗?
4

1 回答 1

3

我的建议是修复您的测试以删除依赖项(即使它们成为正确的“单元”测试) - 否则它们一定会在以后引起问题,例如:

  • 导致一个简单的故障级联,从而导致数百个测试失败并难以找到根本原因
  • 意外失败,因为有人无意中修改了执行顺序
  • 报告通过,而实际上他们应该失败,只是因为初始状态不符合他们的要求

您可以尝试以下方法:

  • 将测试分开,但让它们中的每一个都设置和拆除他们需要的测试环境。(提供初始状态的共享类在这里会有所帮助)
  • 将相关测试合并到一个单独的测试中,这样您就可以以稳健的方式控制设置、执行和关闭。
于 2013-05-03T21:24:42.020 回答