使用NUnit-Console运行程序按特定顺序运行TestFixtures

问题描述 投票:0回答:1

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

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

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

该行是这样的:“ [nunit-console跑步者路径]” / test Tests.TestSuiteWithPriority01 / test Tests.TestSuiteWithPriority02 tests.dll

testing nunit ui-testing nunit-3.0 nunit-console
1个回答
0
投票

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

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

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

您可以在任何灯具或方法上指定[Order(n)]。带有OrderAttribute的项目将从n的最低值开始执行。如果并行运行测试,则该顺序不能保证在第一个测试运行时不会启动后续测试。您可以确保自己不并行运行此类测试。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.