Improve type-checking in OutcomeException (#5580)

Improve type-checking in OutcomeException
This commit is contained in:
Bruno Oliveira
2019-07-09 19:12:05 -03:00
committed by GitHub
4 changed files with 28 additions and 5 deletions

View File

@@ -11,6 +11,7 @@ from _pytest import main
from _pytest import outcomes
from _pytest import reports
from _pytest import runner
from _pytest.outcomes import OutcomeException
class TestSetupState:
@@ -990,3 +991,18 @@ class TestReportContents:
rep = reports[1]
assert rep.capstdout == ""
assert rep.capstderr == ""
def test_outcome_exception_bad_msg():
"""Check that OutcomeExceptions validate their input to prevent confusing errors (#5578)"""
def func():
pass
expected = (
"OutcomeException expected string as 'msg' parameter, got 'function' instead.\n"
"Perhaps you meant to use a mark?"
)
with pytest.raises(TypeError) as excinfo:
OutcomeException(func)
assert str(excinfo.value) == expected

View File

@@ -1066,7 +1066,8 @@ def test_module_level_skip_error(testdir):
testdir.makepyfile(
"""
import pytest
@pytest.skip
pytest.skip("skip_module_level")
def test_func():
assert True
"""