运行 使用 NUnit-Console runner 按特定顺序排列 TestFixtures

Running TestFixtures in particular order by using NUnit-Console runner

我们使用 NUnit 来实现 GUI 测试。我们有多个 TestFixtures(测试套件)专注于一组应用程序功能。测试套件具有不同的执行优先级(例如:在 运行 设置 B 之前需要验证集合 A,因为集合 B 使用集合 A 的功能)。

我的问题是:有什么方法可以使用 NUnit-Console 运行 按给定顺序测试套件?

我试过为每个测试套件传递参数 /test,参数是按测试套件执行优先顺序传递的,但它没有像我预期的那样工作,测试套件没有按要求的顺序执行。

该行是这样的:“[nunit-console 运行ner path]”/test Tests.TestSuiteWithPriority01 /test Tests.TestSuiteWithPriority02 tests.dll

--test 命令行选项用于构建 过滤器,它确定哪些测试是 运行。它不影响顺序——没有命令行选项与顺序有关。 NUnit 在检查测试时将创建的过滤器应用于测试,一次决定是否执行一个测试。

选项的顺序和 NUnit 检查测试的顺序都与它们的执行顺序没有任何关系。执行顺序由:

决定
  1. 您在测试中使用的任何 OrderAttributes
  2. 如果未使用此类属性,则未指定顺序。 (*)

您可以在任何固定装置或方法上指定 [Order(n)]。具有 OrderAttribute 的项目首先执行,从 n 的最低值开始。如果您正在 运行ning 并行测试,则该顺序不能保证在第一个测试 运行ning 时不会启动后续测试。确保您不会 运行 并行进行此类测试取决于您。

另请参阅文档:https://github.com/nunit/docs/wiki/Order-Attribute

*注意:有些人使用测试的字母顺序。 NUnit 的某些版本在某些环境中使用该顺序。 NUnit 不保证它,因此依赖它不是一个好主意。