NUnit 并行运行测试类别

3

我在不同的类(页面对象模式)中进行测试,当它们一起并行运行时可能会相互干扰(它们*不是*单元测试)。例如,有这些类:AddCustomerFormTestsEditCustomerFormTests,分别测试添加客户和更改客户信息。最合适(也是最易读)的解决方案似乎是为不同的类别分配装置,并避免同时运行来自同一类别的测试,但我找不到实现的方法。

基本上,我正在寻找与类别而不是类别相同的等效项[Parallelizable(ParallelScope.Fixtures)]。我不想合并类,因为那将破坏页面对象模式以及SRP。

1个回答

0

有趣的问题!恐怕目前没有办法实现 - 除非对NUnit框架进行修改。(虽然不要听我的,其他人可能能想到一些东西!)

如果您考虑对NUnit框架进行更改,我建议实现一个新的IWorkItemDispatcher来基于类别并行化工作。然后在初始化TestExecutionContext时只需选择正确的调度程序即可。(例如https://github.com/nunit/nunit/blob/ad943eb94fe280e661fc6c690043fe8eb0a11e40/src/NUnitFramework/framework/Api/NUnitTestAssemblyRunner.cs#L352-L358

解决问题的另一种替代方法 - 您是否考虑使用部分类来分组测试,然后并行化夹具?我认为这会起作用...您可能需要先测试一下!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接