按特定顺序运行selenium NUnit测试



我有一个用NUnit在c# . net 6中编写的selenium项目。我有一个名为">Tests"的文件夹,其中有多个子文件夹,每个文件夹都有很多类。每个类只有一个Test方法。这样做的原因是为了构建项目,每个类代表我正在测试的软件中的一个过程。但是,有些进程需要在其他进程已经运行之后才运行。

我的问题是;有没有办法按照我想要的顺序来上课?我试过使用

dotnet test --filter

然而,这不起作用。我还尝试使用NUnit的

Order

属性,但这只在一个类有多个测试方法时起作用。

Order属性可以放置在类或方法上。来自NUnit文档:

OrderAttribute可以放置在测试方法或fixture上,以指定在fixture或其他套件中运行测试的顺序。

引文中的粗体是我的。在你的情况下,"其他套房"。包含fixture类的名称空间是定义它的名称空间。

没有"全局"排序功能,但是如果您的所有测试都在同一个名称空间中,那么在fixture上使用OrderAttribute将使它们按照您指定的顺序运行。如果它不影响名称空间的任何其他使用,您可以考虑将它们全部放在一个名称空间中。

注意事项:

  1. OrderAttribute指定测试启动的顺序。如果并行运行测试,则可能同时运行多个测试。

  2. 在大多数情况下,让测试依赖于另一个是不可取的。

  3. 有很多原因来控制测试的顺序,这些都包含在其他人引用的答案中。我只是在回答具体的"怎么做"你提出的问题。

最新更新