【发布时间】:2020-11-10 16:38:32
【问题描述】:
您好,我正在使用 specflow + nunit,
通过在程序集级别添加以下内容,我已使所有功能并行运行。
[assembly: Parallelizable(ParallelScope.Fixtures)]
[assembly: LevelOfParallelism(5)]
但现在我有一些不应该并行运行的功能,我想排除这些测试。我知道在 Nunit 项目中使用了[NonParallelizable] 或[Parallelizable(ParallelScope.None)] 以将它们排除在并行执行之外。但是对于 specflow 我在哪里指定这些。因为.cs file 是在 specfow 中自动生成的。如何添加这些属性?
【问题讨论】:
-
你找到解决方案了吗?
-
遗憾的是,SpecFlow 中没有直接的功能。但是有一个解决方法:我们将代码隐藏类生成为部分类。因此,您可以创建一个带有部分类的文件并在其中添加 [NonParallizable] 属性。
-
我实际上发现可以创建一个生成器插件,该插件可以为生成的 nunit 测试类添加属性。我最终创建了一个运行时插件,尝试同步一些测试的访问。