NUnit 中有顺序或优先级的概念吗?
Is there a concept of Order or Priority in NUnit?
我正在使用 NUnit 3.12.0 和 NUnit3TestAdapter 3.16.1.
已尝试在网上搜索但没有得到明确的答案我们是否可以 运行 我们的测试使用 NUnit 和 [=19] 以特定顺序或优先级进行=]NUnit3TestAdapter?
假设我有 5 个带有标签 [] 的方法(比如 A、B、C、D 和 E),我想 运行 它在 B、C 的 Order/Priority 中, E、A 和 D.
请建议我们是否可以使用任何特定的标签来描述顺序或优先级,就像我们在 testNG 中所做的那样
@Test(priority = 1)
NUnit 支持 OrderAttribute
,您可以使用它来松散地控制 class 中测试方法的顺序。对于您的示例,您可以这样写:
[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() { }
一些注意事项:
我在上面写了"loosely",因为该属性控制测试开始的顺序。不涉及依赖关系。即在并行执行的情况下,测试E不会等到测试B和C在运行之前完成。当然,如果您不启用并行执行,那么它将 看起来像 E 取决于 A 和 B,因此您需要记住情况并非如此或(如果您这样做需要真正的依赖关系)将使用 Order 属性的 class 标记为 NonParallelizable。
同一个 class 没有 OrderAttribute 的任何测试在所有具有该属性的测试之后开始。
有关 Order 属性的详细信息,请参阅 NUnit 文档。
我正在使用 NUnit 3.12.0 和 NUnit3TestAdapter 3.16.1.
已尝试在网上搜索但没有得到明确的答案我们是否可以 运行 我们的测试使用 NUnit 和 [=19] 以特定顺序或优先级进行=]NUnit3TestAdapter?
假设我有 5 个带有标签 [] 的方法(比如 A、B、C、D 和 E),我想 运行 它在 B、C 的 Order/Priority 中, E、A 和 D.
请建议我们是否可以使用任何特定的标签来描述顺序或优先级,就像我们在 testNG 中所做的那样
@Test(priority = 1)
NUnit 支持 OrderAttribute
,您可以使用它来松散地控制 class 中测试方法的顺序。对于您的示例,您可以这样写:
[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() { }
一些注意事项:
我在上面写了"loosely",因为该属性控制测试开始的顺序。不涉及依赖关系。即在并行执行的情况下,测试E不会等到测试B和C在运行之前完成。当然,如果您不启用并行执行,那么它将 看起来像 E 取决于 A 和 B,因此您需要记住情况并非如此或(如果您这样做需要真正的依赖关系)将使用 Order 属性的 class 标记为 NonParallelizable。
同一个 class 没有 OrderAttribute 的任何测试在所有具有该属性的测试之后开始。
有关 Order 属性的详细信息,请参阅 NUnit 文档。