Sha256: c0c456284b3985877f3624e76c2ef873d5b65356db868ba06c3db80ea0c3e650

Contents?: true

Size: 2 KB

Versions: 6

Compression:

Stored size: 2 KB

Contents

# File: demo03.feature

Feature: Show the use of a basic macro with multiple arguments
  As a Cuke user
  So that I enjoy writing scenario.


Scenario: defining basic macro with multiple arguments
  # The next step creates a macro(-step)double quotes.
  # The steps to execute when the macro is used/invoked are listed in the multiline triple quotes arguments.
  # The macro argument is put between double(triple) curly braces {{...}} as required by the Mustache template library.
  Given I define the step "When I [enter my userid {{userid}} and password {{password}}]" to mean:
  """
  Given I landed in the homepage
  When I click "Sign in"
  And I fill in "Username" with "{{userid}}"
  And I fill in "Password" with "{{password}}"
  And I click "Submit"
  """

Scenario: Let's use the macro we created above
  # Here the macro is invoked. Actual value for the argument is put between double quotes.
  When I [enter my userid "guest" and password "unguessable"]

  # The next step verifies that the steps from the macro were effectively executed.
  Then I expect the following step trace:
  """
Invoked step: ... I landed in the homepage
Invoked step: ... I click "Sign in"
Invoked step: ... I fill in "Username" with "guest"
Invoked step: ... I fill in "Password" with "unguessable"
Invoked step: ... I click "Submit"
  """

Scenario: A macro invoking another macro (YES, it's possible!)
  Given I define the step "When I [enter my credentials]" to mean:
  """
  {{! Notice that the next step is invoking the first macro above}}
  When I [enter my userid "guest" and password "unguessable"]
  """

  # Invoking our lastly-created macro
  When I [enter my credentials]

  # Check that the nested macro still works
  Then I expect the following step trace:
  """
Invoked step: ... I landed in the homepage
Invoked step: ... I click "Sign in"
Invoked step: ... I fill in "Username" with "guest"
Invoked step: ... I fill in "Password" with "unguessable"
Invoked step: ... I click "Submit"
  """

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
macros4cuke-0.1.07 features/demo03.feature
macros4cuke-0.1.06 features/demo03.feature
macros4cuke-0.1.04 features/demo03.feature
macros4cuke-0.1.03 features/demo03.feature
macros4cuke-0.1.02 features/demo03.feature
macros4cuke-0.1.00 features/demo03.feature