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

发布于 2024-08-30 07:20:42 字数 54 浏览 4 评论 0原文

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

执行顺序取决于什么?

Why my NUnit tests execute in different order than they are listed?

And upon what the execution order depends?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十秒萌定你 2024-09-06 07:20:43

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

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

They are run alphabetically as mentioned. If you open a test dll in the GUI NUnit runner you'll see the ordering.

Despite this, the order in which unit tests are run should not matter. A unit test should be isolated and independent, thus order should be no issue.

手长情犹 2024-09-06 07:20:42

这取决于跑步者在反思你的测试装配后如何排列它们。每个跑步者的做法可能有所不同。

例如,Reshaper 的运行程序按字母顺序运行。

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

如果您需要让测试依赖于其他测试,请使用 MbUnit。 这是一个使用夹具依赖的示例DependsOnAttribute。

It depends on how the runner arranges them after reflecting on your test assembly. Each runner may do this differently.

For instance, Reshaper's runner runs alphabetically.

But the salient issue here is that NUnit tests should not have sequential stipulations or dependencies.

If you need to have tests depend on other tests, use MbUnit. This is an example of fixture dependency using the DependsOnAttribute.

谁许谁一生繁华 2024-09-06 07:20:42

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

Any unit test runner will probably reflect over the test fixture class and search for all methods with a certain attribute applied (or which matches some naming convention). The order these methods are returned does not depend on the order they are specified in the source file, so they cannot be executed in the order they are defined. This shouldn't be a problem since unit tests should run independently from each other.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文