我们正在使用 BDD 并使用 SpecFlow 来推动我们的开发 (ATDD)。
我们的 QA 团队希望定义他们自己的“端到端回归测试”(在 Gherkin/SpecFlow 中)并重用我们已经定义的步骤。
(请注意——我知道这不是一个很好的例子,但它应该提供足够的细节)
测试可能包括..
- 登录
- 搜索产品
- 选择要购买的产品
- 创建订单
- 选择交付选项。
- 提交订单。
- 取消订单。
这将暗示一个场景,如..
假设我在
搜索产品时已登录
并选择要购买的产品
并创建订单
并选择交货选项
并提交订单
并取消订单
然后??!!
这显然是错误的,因为我们没有在每一步检查输出。
因此,这可以作为一系列场景来解决:
场景 1:
假设我已登录,
当我搜索产品时
,我会看到产品列表
场景 2:
当我选择要购买的产品时,
我可以创建订单
场景 3:
当我创建订单
并选择交货选项时
,我可以提交订单
等等等等
这样做的主要问题是似乎无法指定场景运行的顺序/顺序(nUnit 的特性?)。因为场景之间存在依赖关系(它们没有设置为已知的起点),所以它们必须按顺序运行。
我的问题是:
a) 我们是否要在圆孔中安装方形钉?!
b) 有谁知道是否有办法以这种方式使用 SpecFlow/Gherkin?
c) 或者有人知道有什么替代品吗?
非常感谢!