nunit - NUnit中有顺序或优先级的概念吗?
问题描述
我正在使用NUnit 3.12.0和NUnit3TestAdapter 3.16.1。
尝试在网上搜索,但没有得到明确的答案,我们是否可以使用NUnit和NUnit3TestAdapter以特定顺序或优先级运行我们的测试?
假设我有 5 个带有标签 [] 的方法(例如 A、B、C、D 和 E),我想按照 B、C、E、A 和 D 的顺序/优先级运行它。
请建议我们是否可以使用任何特定标签来描述顺序或优先级,就像我们在 testNG 中所做的那样
@Test(priority = 1)
解决方案
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() { }
几点注意事项:
我在上面写了“松散”,因为该属性控制了测试开始的顺序。不涉及依赖。也就是说,在并行执行的情况下,测试E不会等到测试B和C完成后再运行。当然,如果你不启用并行执行,那么看起来E 依赖于 A 和 B,所以你需要记住情况并非如此,或者(如果你确实需要真正的依赖)标记类在其中您将 Order 属性用作 NonParallelizable。
在所有具有该属性的测试之后,将启动同一类中没有OrderAttribute 的任何测试。
有关 Order 属性的更多信息,请参阅 NUnit 文档。
推荐阅读
- c++ - 可以使用 std 容器为函数模板推导出类型参数吗?
- php - 在laravel中计算从当前日期和出生日期派生的年龄
- python - 从字符串中查找每个关键字的分数
- c# - ASP.NET Core 3.1:Web API 身份登录
- javascript - Jquery 自定义数据表导出选项
- python - 如何使用python计算没有空格的字符串中的字符?
- postgresql - 在 plpgsql/postgresql 中引发错误而不回滚
- javascript - 如何在单击按钮时从多个选择输入中获取所有值?反应
- c# - C#读取Excel缺失列
- reactjs - 离子反应如何制作动画
在组件上重新渲染?