Skip to content

Commit dd72147

Browse files
committed
pytester: Hookrecorder: improve assertoutcome
Before: def assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None: realpassed, realskipped, realfailed = self.listoutcomes() assert passed == len(realpassed) > assert skipped == len(realskipped) E assert 1 == 0 E + where 0 = len([]) After: > reprec = testdir.inline_run(testpath, "-s") E AssertionError: ([], [], [<TestReport 'nodeid' when='call' outcome='failed'>]) E assert [0, 1, 0] == [0, 0, 1]
1 parent e2022a6 commit dd72147

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/_pytest/pytester.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,10 +332,9 @@ def countoutcomes(self) -> List[int]:
332332
return [len(x) for x in self.listoutcomes()]
333333

334334
def assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None:
335-
realpassed, realskipped, realfailed = self.listoutcomes()
336-
assert passed == len(realpassed)
337-
assert skipped == len(realskipped)
338-
assert failed == len(realfailed)
335+
__tracebackhide__ = True
336+
outcomes = self.listoutcomes()
337+
assert [passed, skipped, failed] == [len(x) for x in outcomes], outcomes
339338

340339
def clear(self) -> None:
341340
self.calls[:] = []

0 commit comments

Comments
 (0)