Skip to content

Commit dc407ba

Browse files
gnikonorovsallner
authored andcommitted
refactor the assert_outcomes method to present better messages on assertion failures
1 parent c564938 commit dc407ba

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

test_pytest_rerunfailures.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,17 @@ def temporary_failure(count=1):
2121
def assert_outcomes(result, passed=1, skipped=0, failed=0, error=0, xfailed=0,
2222
xpassed=0, rerun=0):
2323
outcomes = result.parseoutcomes()
24-
assert outcomes.get('passed', 0) == passed
25-
assert outcomes.get('skipped', 0) == skipped
26-
assert outcomes.get('failed', 0) == failed
27-
assert outcomes.get('xfailed', 0) == xfailed
28-
assert outcomes.get('xpassed', 0) == xpassed
29-
assert outcomes.get('rerun', 0) == rerun
24+
check_outcome_field(outcomes, 'passed', passed)
25+
check_outcome_field(outcomes, 'skipped', skipped)
26+
check_outcome_field(outcomes, 'failed', failed)
27+
check_outcome_field(outcomes, 'xfailed', xfailed)
28+
check_outcome_field(outcomes, 'xpassed', xpassed)
29+
check_outcome_field(outcomes, 'rerun', rerun)
30+
31+
32+
def check_outcome_field(outcomes, field_name, expected_value):
33+
field_value = outcomes.get(field_name, 0)
34+
assert field_value == expected_value, "outcomes.{} has unexpected value. Expected '{}' but got '{}'".format(field_name, expected_value, field_value)
3035

3136

3237
def test_error_when_run_with_pdb(testdir):

0 commit comments

Comments
 (0)