在Specflow + Runner和SharedAppDomain线程隔离中使用Specflow在每个线程之前和之后执行代码

问题描述

在Specflow中与SharedAppDomain线程隔离并行执行测试时,是否可以在每个特定线程之前和之后执行代码

我为此目的使用的是BeforeTestRun / AfterTestRun Hooks,但是似乎从最后一个Specflow版本开始,这仅在运行测试“ AppDomain”线程隔离时才可行,而在SharedAppDomain隔离中,每个测试仅运行一次。

解决方法

如果并行运行测试,则每个线程将代表一个正在运行的方案。要在每种情况下运行某些操作,可以使用AfterScenario钩子。

BeforeTestRun / AfterTestRun用于整个测试运行,其中可能正在运行多个线程。它们被设计为可以在所有线程上运行一次,但是我发现AfterTestRun是修补程序。有时似乎无法确定最后一个正在运行的线程在进入AfterTestRun之前是否已完成。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...