Merge pull request #9133 from okken/9113_deselected_assert_outcomes

This commit is contained in:
Bruno Oliveira 2021-10-05 16:50:42 -03:00 committed by GitHub
commit 459e10b802
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,2 @@
:class:`RunResult <_pytest.pytester.RunResult>` method :meth:`assert_outcomes <_pytest.pytester.RunResult.assert_outcomes>` now accepts a
``deselected`` argument to assert the total number of deselected tests.

View File

@ -588,6 +588,7 @@ class RunResult:
xpassed: int = 0,
xfailed: int = 0,
warnings: int = 0,
deselected: int = 0,
) -> None:
"""Assert that the specified outcomes appear with the respective
numbers (0 means it didn't occur) in the text output from a test run."""
@ -604,6 +605,7 @@ class RunResult:
xpassed=xpassed,
xfailed=xfailed,
warnings=warnings,
deselected=deselected,
)

View File

@ -43,6 +43,7 @@ def assert_outcomes(
xpassed: int = 0,
xfailed: int = 0,
warnings: int = 0,
deselected: int = 0,
) -> None:
"""Assert that the specified outcomes appear with the respective
numbers (0 means it didn't occur) in the text output from a test run."""
@ -56,6 +57,7 @@ def assert_outcomes(
"xpassed": outcomes.get("xpassed", 0),
"xfailed": outcomes.get("xfailed", 0),
"warnings": outcomes.get("warnings", 0),
"deselected": outcomes.get("deselected", 0),
}
expected = {
"passed": passed,
@ -65,5 +67,6 @@ def assert_outcomes(
"xpassed": xpassed,
"xfailed": xfailed,
"warnings": warnings,
"deselected": deselected,
}
assert obtained == expected

View File

@ -861,3 +861,17 @@ def test_pytester_assert_outcomes_warnings(pytester: Pytester) -> None:
)
result = pytester.runpytest()
result.assert_outcomes(passed=1, warnings=1)
def test_pytester_outcomes_deselected(pytester: Pytester) -> None:
pytester.makepyfile(
"""
def test_one():
pass
def test_two():
pass
"""
)
result = pytester.runpytest("-k", "test_one")
result.assert_outcomes(passed=1, deselected=1)