Fix usage of pytester with doctests (#6802)
Use `request.node.name` instead of `request.function.__name__`: `request.function` is `None` with `DoctestItem`s.
This commit is contained in:
@@ -89,6 +89,29 @@ def test_testdir_runs_with_plugin(testdir) -> None:
|
||||
result.assert_outcomes(passed=1)
|
||||
|
||||
|
||||
def test_testdir_with_doctest(testdir):
|
||||
"""Check that testdir can be used within doctests.
|
||||
|
||||
It used to use `request.function`, which is `None` with doctests."""
|
||||
testdir.makepyfile(
|
||||
**{
|
||||
"sub/t-doctest.py": """
|
||||
'''
|
||||
>>> import os
|
||||
>>> testdir = getfixture("testdir")
|
||||
>>> str(testdir.makepyfile("content")).replace(os.sep, '/')
|
||||
'.../basetemp/sub.t-doctest0/sub.py'
|
||||
'''
|
||||
""",
|
||||
"sub/__init__.py": "",
|
||||
}
|
||||
)
|
||||
result = testdir.runpytest(
|
||||
"-p", "pytester", "--doctest-modules", "sub/t-doctest.py"
|
||||
)
|
||||
assert result.ret == 0
|
||||
|
||||
|
||||
def test_runresult_assertion_on_xfail(testdir) -> None:
|
||||
testdir.makepyfile(
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user