vTa*_*Tad 9 c# selenium nunit xunit
我有大约 100 个 selenium 测试要运行,但其中 2 个不能并行运行
是否可以使用 xUnit 仅对这 2 个测试禁用并行性?
(这两个测试不能并行,因为它们需要模拟键盘点击 -> 所以我会使用并行执行失去输入焦点)
我正在寻找的最佳场景:
向 2 个测试添加一些属性,这将禁用它们的并行性。然后在测试执行中,将使用 16 个线程运行 98 个测试,最后将使用 1 个线程执行剩余的两个测试。
我知道其中一种解决方案可能是这样的:
但不符合我的需求,我想知道我是否可以在我在“最佳场景”中描述的场景中运行测试
PS如果没有解决方案,我可以在nunit中找到类似的东西吗?
st7*_*t78 16
虽然潜水员的答案是正确的,但它没有显示具体如何实现这一目标。
[CollectionDefinition(nameof(SystemTestCollectionDefinition), DisableParallelization = true)]
public class SystemTestCollectionDefinition { }
Run Code Online (Sandbox Code Playgroud)
[Collection(nameof(SystemTestCollectionDefinition))]
public class BaseSystemTest { ... }
Run Code Online (Sandbox Code Playgroud)
现在集合中的所有测试都将按顺序执行。
来源: https: //github.com/xunit/xunit/issues/1999
小智 6
如果你有 xunit >= 2.3 试试 [CollectionDefinition(DisableParallelization = true)]。
它能够通过测试集合定义禁用单个测试集合的跨集合并行化。具有并行功能的测试集合将首先运行(并行),然后是禁用并行的测试集合(顺序运行)。
| 归档时间: |
|
| 查看次数: |
3905 次 |
| 最近记录: |