SpecRun的功能在所有线程上运行之前
本文关键字:运行 线程 功能 SpecRun | 更新日期: 2023-09-27 18:27:52
我一直在使用SpecRun,发现它在所有可用线程中执行BeforeFeature和AfterFeature步骤的行为。我希望它只会"在一个线程上执行一次"上述步骤。
3线程执行的理想场景是:
- BeforeFeature步骤将在线程1上执行
- 场景1将在线程1上执行,场景2将在线程2上执行,方案3将在线程3上执行
- 将在线程1上执行功能步骤之后
我现在遇到的实际情况:
- BeforeFeature步骤在线程1上执行在线程2上执行,BeforeFeature步骤在线程3上执行
- 场景1在线程1上执行,场景2在线程2上执行,方案3在线程3上执行
- 在线程1上执行AfterFeature步骤,在线程2上执行After Feature步骤
我使用的是Selenium WebDriver 2.47.0
、SpecRun1.2
和Specflow 1.9
SpecRun具有此行为,因为Before/After-Feature适用于Feature-File中的所有场景和场景大纲示例。
根据您的配置,SpecRun会在不同的线程或进程上调度不同的场景。由于在其他步骤绑定中可以有一些特定于线程的东西,因此必须为每个线程执行after/before步骤。
在功能之前/之后的步骤中,您在做什么?测试运行之前/之后是否不适用于您的用例?