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