@@ -368,44 +368,34 @@ def _():
368
368
]
369
369
370
370
371
- def test_default_value_in_not_parsed (pytester ):
372
- """Test that angular brackets are not parsed for "Scenario"s.
373
-
374
- (They should be parsed only when used in "Scenario Outline")
375
-
376
- """
371
+ def test_default_value_is_used_as_fallback (pytester ):
372
+ """Test that the default value for a step implementation is only used as a fallback."""
377
373
pytester .makefile (
378
374
".feature" ,
379
375
simple = """
380
376
Feature: Simple feature
381
- Scenario: Simple scenario
382
- Given a user with username
383
- Then check username defaultuser
377
+ Scenario: Step using default arg
378
+ Given a user with default username
384
379
385
- Scenario Outline: Outlined scenario
386
- Given a user with username <username>
387
- Then check username <username>
388
-
389
- Examples:
390
- | username |
391
- | user1 |
380
+ Scenario: Step using explicit value
381
+ Given a user with username "user1"
392
382
""" ,
393
383
)
394
384
pytester .makepyfile (
395
385
"""
396
386
from pytest_bdd import scenarios, given, then, parsers
387
+ from pytest_bdd.utils import dump_obj
397
388
398
389
scenarios("simple.feature")
399
390
400
- @given('a user with username', target_fixture="user")
401
- @given(parsers.parse('a user with username {username}'), target_fixture="user")
391
+ @given('a user with default username', target_fixture="user")
392
+ @given(parsers.parse('a user with username " {username}" '), target_fixture="user")
402
393
def create_user(username="defaultuser"):
403
- return username
394
+ dump_obj( username)
404
395
405
- @then(parsers.parse("check username {username}"))
406
- def _(user, username):
407
- assert user == username
408
396
"""
409
397
)
410
- result = pytester .runpytest ()
398
+ result = pytester .runpytest ("-s" )
411
399
result .assert_outcomes (passed = 2 )
400
+
401
+ assert collect_dumped_objects (result ) == ["defaultuser" , "user1" ]
0 commit comments