c# - 在 SpecFlow 中的多个功能文件之间共享步骤声明
问题描述
我正在寻找一种在多个 SpecFlow 功能文件之间以文本方式共享多个步骤声明而不在每个功能文件中复制它们的方法。
我有一个依赖于外部数据存在的系统。在我的系统中,我有多个功能,可能会或可能不会使用该数据,因此在我的测试中,我正在寻找一种以共享方式进行设置的方法,但我希望在生成的测试中显示此设置也有报告,这就是我找不到好的解决方案的地方。
给定背景如下:
Background:
Given a category 'A' exists
And a category 'B' exists
想象一下,我有两个特性依赖于这些类别的存在,而第三个特性不依赖于这些类别的存在。由于每个功能都包含不同的场景,因此它们被拆分为单独的.feature
文件。
为了分享背景,我到目前为止找到了两种可能的解决方案:
BeforeScenario
在orBeforeFeature
方法中进行后台设置。这有一个主要缺点,因为我生成的报告不包含任何有关已设置为背景的信息的信息。由于我使用这些报告与业务部门沟通,我强迫他们假设存在这些类别。- 复制每个特征文件中的背景文本。我可以为步骤定义创建一个绑定步骤类,这样至少不会重复实现,但这意味着我在维护这些
.feature
文件方面有更多的开销。如果我的背景发生变化,我必须手动更新多个文件以保持它们对齐。
有没有办法在多个 SpecFlow 功能文件之间共享文本背景?
解决方案
推荐阅读
- bash - 附加到目录中的所有文件名
- tomcat - Tomcat 在 200 响应后抛出 500 错误
- c# - Xamarin 窗体弹出
- java - java.lang.module.FindException:使用硒时
- javascript - Angularjs:向 Json 对象添加自定义属性或字段或计算
- bash - 有没有办法将单列整数视为数组以提取某些数字?
- database - Angular 6 - 定期从数据库中提取数据
- macos - 如何在 Mac 上开发和在 IIS 上测试
- netfilter - ebtable NFLOG 导致 ARP 请求丢失
- c# - 使用 Linq 选择层次级别的数据