|
- Feature: Doc strings
-
- If you need to specify information in a scenario that won't fit on a single line,
- you can use a DocString.
-
- A DocString follows a step, and starts and ends with three double quotes, like this:
-
- ```gherkin
- When I ask to reset my password
- Then I should receive an email with:
- """
- Dear bozo,
-
- Please click this link to reset your password
- """
- ```
-
- It's possible to annotate the DocString with the type of content it contains. This is used by
- formatting tools like http://relishapp.com which will render the contents of the DocString
- appropriately. You specify the content type after the triple quote, like this:
-
- ```gherkin
- Given there is some Ruby code:
- """ruby
- puts "hello world"
- """
- ```
-
- You can read the content type from the argument passed into your step definition, as shown
- in the example below.
-
- Scenario: Plain text Docstring
- Given a scenario with a step that looks like this:
- """gherkin
- Given I have a lot to say:
- \"\"\"
- One
- Two
- Three
- \"\"\"
- """
- And a step definition that looks like this:
- """ruby
- Given /say/ do |text|
- log text
- end
- """
- When I run the feature with the progress formatter
- Then the output should contain:
- """
- One
- Two
- Three
- """
-
- Scenario: DocString passed as String
- Given a scenario with a step that looks like this:
- """gherkin
- Given I have some code for you:
- \"\"\"
- hello
- \"\"\"
- """
- And a step definition that looks like this:
- """ruby
- Given /code/ do |text|
- log text.class.to_s
- end
- """
- When I run the feature with the progress formatter
- Then the output should contain:
- """
- String
- """
|