为什么我的NUnit测试的执行顺序与列出的顺序不同?

时间:2010-04-24 19:32:37

标签: unit-testing nunit testing

为什么我的NUnit测试的执行顺序与列出的顺序不同?

执行顺序取决于什么?

3 个答案:

答案 0 :(得分:3)

这取决于跑步者在反射测试组件后如何排列它们。每个跑步者可以这样做。

例如,Reshaper的跑步者按字母顺序排列。

但这里的突出问题是NUnit测试不应该有顺序规定或依赖。

如果您需要依赖其他测试进行测试,请使用MbUnit。 This是使用DependsOnAttribute的夹具依赖性的一个例子。

答案 1 :(得分:2)

任何单元测试运行器都可能会反映测试夹具类,并搜索应用了某个属性的所有方法(或者匹配某些命名约定)。返回这些方法的顺序不依赖于它们在源文件中指定的顺序,因此它们不能按照定义的顺序执行。这应该不是问题,因为单元测试应该彼此独立运行。

答案 2 :(得分:2)

如上所述,它们按字母顺序运行。如果您在GUI NUnit运行器中打开测试dll,您将看到订购。

尽管如此,运行单元测试的顺序应该重要。单元测试应该隔离独立,因此顺序应该没有问题。