Skip to content

Commit d5d3027

Browse files
committed
Add skipped parameter to steps
- the skipped parameter can be used to track which steps have been skipped and adjust the behaviour appropriatelly (ex. change the output colour to yellow)
1 parent d5cd4da commit d5d3027

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

pytest_bdd/feature.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,7 @@ def __init__(self, feature, name, line_number, example_converters=None, tags=Non
453453
self.line_number = line_number
454454
self.example_converters = example_converters
455455
self.tags = tags or set()
456+
self.skipped = False
456457
self.failed = False
457458
self.test_function = None
458459

@@ -530,6 +531,7 @@ def __init__(self, name, type, indent, line_number, keyword):
530531
self.indent = indent
531532
self.type = type
532533
self.line_number = line_number
534+
self.skipped = False
533535
self.failed = False
534536
self.start = 0
535537
self.stop = 0

pytest_bdd/reporting.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
class StepReport(object):
1414
"""Step excecution report."""
1515

16+
skipped = False
1617
failed = False
1718
stopped = None
1819

@@ -35,16 +36,19 @@ def serialize(self):
3536
"type": self.step.type,
3637
"keyword": self.step.keyword,
3738
"line_number": self.step.line_number,
39+
"skipped": self.skipped,
3840
"failed": self.failed,
3941
"duration": self.duration,
4042
}
4143

42-
def finalize(self, failed):
44+
def finalize(self, failed, skipped=False):
4345
"""Stop collecting information and finalize the report.
4446
4547
:param bool failed: Wheither the step excecution is failed.
48+
:param bool skipped: Indicates if the step execution is skipped.
4649
"""
4750
self.stopped = time.time()
51+
self.skipped = skipped
4852
self.failed = failed
4953

5054
@property

0 commit comments

Comments
 (0)