Merge pull request #6176 from blueyed/assertoutcome
pytester: Hookrecorder: improve assertoutcome
This commit is contained in:
commit
f91bf48a40
|
@ -0,0 +1 @@
|
||||||
|
Improved failure reporting with pytester's ``Hookrecorder.assertoutcome``.
|
|
@ -332,10 +332,17 @@ class HookRecorder:
|
||||||
return [len(x) for x in self.listoutcomes()]
|
return [len(x) for x in self.listoutcomes()]
|
||||||
|
|
||||||
def assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None:
|
def assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None:
|
||||||
realpassed, realskipped, realfailed = self.listoutcomes()
|
__tracebackhide__ = True
|
||||||
assert passed == len(realpassed)
|
|
||||||
assert skipped == len(realskipped)
|
outcomes = self.listoutcomes()
|
||||||
assert failed == len(realfailed)
|
realpassed, realskipped, realfailed = outcomes
|
||||||
|
obtained = {
|
||||||
|
"passed": len(realpassed),
|
||||||
|
"skipped": len(realskipped),
|
||||||
|
"failed": len(realfailed),
|
||||||
|
}
|
||||||
|
expected = {"passed": passed, "skipped": skipped, "failed": failed}
|
||||||
|
assert obtained == expected, outcomes
|
||||||
|
|
||||||
def clear(self) -> None:
|
def clear(self) -> None:
|
||||||
self.calls[:] = []
|
self.calls[:] = []
|
||||||
|
|
|
@ -70,7 +70,14 @@ class TestImportHookInstallation:
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
result = testdir.runpytest_subprocess()
|
result = testdir.runpytest_subprocess()
|
||||||
result.stdout.fnmatch_lines(["*assert 1 == 0*"])
|
result.stdout.fnmatch_lines(
|
||||||
|
[
|
||||||
|
"E * AssertionError: ([[][]], [[][]], [[]<TestReport *>[]])*",
|
||||||
|
"E * assert"
|
||||||
|
" {'failed': 1, 'passed': 0, 'skipped': 0} =="
|
||||||
|
" {'failed': 0, 'passed': 1, 'skipped': 0}",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
@pytest.mark.parametrize("mode", ["plain", "rewrite"])
|
@pytest.mark.parametrize("mode", ["plain", "rewrite"])
|
||||||
def test_pytest_plugins_rewrite(self, testdir, mode):
|
def test_pytest_plugins_rewrite(self, testdir, mode):
|
||||||
|
|
Loading…
Reference in New Issue