NUnit中是否存在顺序或优先级的概念?

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

我正在使用NUnit 3.12.0NUnit3TestAdapter 3.16.1

曾尝试在网上搜索,但没有得到明确的答案,我们是否可以使用NUnitNUnit3TestAdapter以特定顺序或优先级运行测试?

假设我有5种方法[说A,B,C,D和E],它们带有标签[],我想以B,C,E,A和D的顺序/优先级运行它。

[请建议我们是否可以像在testNG中那样使用任何特定标签来描述顺序或优先级,例如

@Test(priority = 1)
nunit nunit-3.0
1个回答
0
投票

NUnit支持OrderAttribute,您可以使用它宽松地控制类中测试方法的顺序。对于您的示例,您可以编写:

[Test, Order(4)]
public void A() { }

[Test, Order(1)]
public void B() { }

[Test, Order(2)]
public void C() { }

[Test, Order(5)]
public void D() { }

[Test, Order(3)]
public void E() { }

一些注意事项:

  1. 我在上面“松散地写了”,因为该属性控制测试开始的顺序。没有依赖关系。也就是说,在并行执行的情况下,测试E在运行之前不会等待测试B和C完成。当然,如果您不启用并行执行,那么它将look like E取决于A和B,因此您需要记住并非如此,或者(如果您确实需要真正的依赖关系, ),将您使用Order属性的类标记为NonParallelizable。

  2. 同一类中的任何测试在使用该属性进行所有测试之后,将启动OrderAttribute。

请参阅NUnit文档以获取有关Order属性的更多信息。

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