1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
Feature: Snippets message
If a step doesn't match, Cucumber will ask the wire server to return a snippet of code for a
step definition.
Background:
Given a file named "features/wired.feature" with:
"""
Feature: High strung
Scenario: Wired
Given we're all wired
"""
And a file named "features/step_definitions/some_remote_place.wire" with:
"""
host: localhost
port: 54321
"""
@spawn
Scenario: Wire server returns snippets for a step that didn't match
Given there is a wire server running on port 54321 which understands the following protocol:
| request | response |
| ["step_matches",{"name_to_match":"we're all wired"}] | ["success",[]] |
| ["snippet_text",{"step_keyword":"Given","multiline_arg_class":"","step_name":"we're all wired"}] | ["success","foo()\n bar;\nbaz"] |
| ["begin_scenario"] | ["success"] |
| ["end_scenario"] | ["success"] |
When I run `cucumber -f pretty`
Then the stderr should not contain anything
And it should pass with:
"""
Feature: High strung
Scenario: Wired # features/wired.feature:2
Given we're all wired # features/wired.feature:3
1 scenario (1 undefined)
1 step (1 undefined)
"""
And the output should contain:
"""
foo()
bar;
baz
"""
|