Skip to content

Commit cfad824

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 {'failed': 0, 'passed': 0, 'skipped': 1} == {'failed': 1, 'passed': 0, 'skipped': 0}
1 parent e2022a6 commit cfad824

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/_pytest/pytester.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,10 +332,15 @@ 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+
337+
outcomes = self.listoutcomes()
338+
realpassed, realskipped, realfailed = outcomes
339+
assert {"passed": passed, "skipped": skipped, "failed": failed} == {
340+
"passed": len(realpassed),
341+
"skipped": len(realskipped),
342+
"failed": len(realfailed),
343+
}, outcomes
339344

340345
def clear(self) -> None:
341346
self.calls[:] = []

0 commit comments

Comments
 (0)