specflow - 在 Specflow+ 运行器和 SharedAppDomain 线程隔离中使用 Specflow 在每个线程之前和之后执行代码
问题描述
在 Specflow 中与 SharedAppDomain 线程隔离并行执行测试时,有什么方法可以在每个特定线程之前和之后执行代码?
我为此目的使用了 BeforeTestRun/AfterTestRun Hooks,但似乎自从上一个 Specflow 版本以来,这仅在运行测试“AppDomain”线程隔离时才有可能,并且在 SharedAppDomain 隔离中,每个测试只运行一次。
解决方案
如果您并行运行测试,每个线程将代表一个运行场景。要在每个场景之后运行某些东西,您可以使用该AfterScenario
钩子。
BeforeTestRun/AfterTestRun 用于可能运行多个线程的整个测试运行。它们旨在为所有线程运行一次,但我发现AfterTestRun
它是不完整的。有时它似乎无法确定最后一个运行的线程在进入之前已经完成AfterTestRun
。
推荐阅读
- javascript - 我有对象数组,我的目标是仅使用 forEach 按升序打印对象的年龄
- vb.net - 通过 webrequest vb.net 获取 JSON 数据
- google-cloud-storage - 可恢复上传到 GCS Google Cloud Storage 签名 url 的内容已损坏
- java - 将生成的 csv 文件上传到 Java 中的 sftp 位置
- java - 模拟多个 jdbcTemplate.queryForObject 不起作用
- c# - C# 将 JSON 写入不带反斜杠的文件
- oracle - 如何在 oracle goldenGate 中修复 OGG-01163
- android - 动画后无法通过对讲访问视图
- wordpress - “我们无法预览您页面的这个区域,因为它在 IFRAME 中”wordpress 网站上的谷歌广告错误
- android - Firebase 测试实验室为 /jacoco.exec 抛出 FileNotFound