【发布时间】:2018-07-17 10:16:30
【问题描述】:
我有大约 100 个硒测试要运行,但其中 2 个不能并行运行
是否可以使用 xUnit 仅对这 2 个测试禁用并行性?
(这两个测试不能并行,因为它们需要模拟键盘点击->所以我会使用并行执行失去输入焦点)
我正在寻找的最佳方案:
为 2 个测试添加一些属性,以禁用它们的并行性。然后在测试执行中,98 个测试将使用 16 个线程运行,剩下的两个测试将在最后使用 1 个线程执行。
我知道其中一种解决方案可能是这样的:
- 为测试添加“并行”和“非并行”类别
- 使用 xunit.console 仅运行参数 maxthread=16 的“并行”类别。
- 之后使用参数 maxthread=1 运行“NonParallel”类别
- 在所有这些将 xunit 报告合并为一个之后。
但不符合我的需求,我想知道我是否可以在“最佳场景”中描述的场景中运行测试
附:如果没有解决方案,我可以在 nunit 中找到类似的东西吗?
【问题讨论】:
-
如果您在 xUnit 中没有找到所需的内容,NUnit 允许您指定测试在从程序集到测试的任何级别的测试层次结构中并行或不并行运行方法包括类和命名空间。见github.com/nunit/docs/wiki/Parallelizable-Attribute