链接黄瓜场景
Chaining cucumber scenarios
我正在尝试了解如何从逻辑上将场景组合在一起。假设我有一个功能,例如在填写订单后查看购物车。
Given I am on the items page
When I click shop button
And I add an apple
And I add a bananna
When I click next
Then I should see my cart summary
现在我想更进一步.. 例如删除一些项目。我不想制作一个全新的功能文件。我只想创建一个引用上面这个场景的新场景。我怎样才能添加另一个场景,从这个场景停止的地方开始?
最接近您要查找的内容是 background:
Background allows you to add some context to the scenarios in a single feature. A Background is much like a scenario containing a number of steps. The difference is when it is run. The background is run before each of your scenarios but after any of your Before Hooks.
使用这个想法,你可以做如下事情:
Feature: Shopping cart testing
Background:
Given I am on the items page
When I click shop button
And I add an apple
And I add a bananna
And I click next
Scenario: Check shopping cart is present
Then I should see my cart summary
Scenario: I should be able to remove an item
When I remove an item
Then the shopping cart should have one item
请注意,尽管这两个场景具有共同的背景(一组初始步骤),但它们是独立的。
尽管我只使用 Givens,但我通常在测试中使用 Background。从我的角度来看,背景应该呈现一种状态,而不是用户执行的操作(尽管这只是我的观点)。我知道有一些测试在后台使用 when
,这是允许的做法。
希望对您有所帮助。
我正在尝试了解如何从逻辑上将场景组合在一起。假设我有一个功能,例如在填写订单后查看购物车。
Given I am on the items page
When I click shop button
And I add an apple
And I add a bananna
When I click next
Then I should see my cart summary
现在我想更进一步.. 例如删除一些项目。我不想制作一个全新的功能文件。我只想创建一个引用上面这个场景的新场景。我怎样才能添加另一个场景,从这个场景停止的地方开始?
最接近您要查找的内容是 background:
Background allows you to add some context to the scenarios in a single feature. A Background is much like a scenario containing a number of steps. The difference is when it is run. The background is run before each of your scenarios but after any of your Before Hooks.
使用这个想法,你可以做如下事情:
Feature: Shopping cart testing
Background:
Given I am on the items page
When I click shop button
And I add an apple
And I add a bananna
And I click next
Scenario: Check shopping cart is present
Then I should see my cart summary
Scenario: I should be able to remove an item
When I remove an item
Then the shopping cart should have one item
请注意,尽管这两个场景具有共同的背景(一组初始步骤),但它们是独立的。
尽管我只使用 Givens,但我通常在测试中使用 Background。从我的角度来看,背景应该呈现一种状态,而不是用户执行的操作(尽管这只是我的观点)。我知道有一些测试在后台使用 when
,这是允许的做法。
希望对您有所帮助。