链黄瓜场景

时间:2016-11-03 18:04:04

标签: javascript protractor cucumberjs

我试图了解如何将逻辑上的场景组合在一起。假设我在填写订单后有一个功能,例如查看购物车。

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 

现在我想进一步......比如删除一些物品。我不想制作一个全新的功能文件。我只是想创建一个新的场景来推崇上面这个。如何添加另一个场景,只是从这个场景开始的地方开始?

1 个答案:

答案 0 :(得分:1)

最接近你要找的是background

  

Background允许您在单个功能中向场景添加一些上下文。背景很像包含许多步骤的场景。不同之处在于运行时。后台在每个场景之前运行,但在任何After 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

请注意,这两种方案都是独立的,尽管它们共享一个共同的背景(一组初始步骤)。

我通常在测试中使用Background,尽管我只使用Givens。从我的角度来看,背景应该呈现一个状态而不是用户执行的动作(尽管这只是我的意见)。我知道在背景中使用when进行了测试,这是一种允许的做法。

希望它有所帮助。

相关问题