Improve error message in getfixturevalue
This commit is contained in:
parent
611b579d21
commit
0e62861e84
|
@ -0,0 +1,4 @@
|
||||||
|
Improve the error message when we attempt to access a fixture that has been
|
||||||
|
torn down.
|
||||||
|
Add an additional sentence to the docstring explaining when it's not a good
|
||||||
|
idea to call getfixturevalue.
|
|
@ -548,11 +548,18 @@ class FixtureRequest:
|
||||||
setup time, you may use this function to retrieve it inside a fixture
|
setup time, you may use this function to retrieve it inside a fixture
|
||||||
or test function body.
|
or test function body.
|
||||||
|
|
||||||
|
This method can be used during the test setup phase or the test run
|
||||||
|
phase, but during the test teardown phase a fixture's value may not
|
||||||
|
be available.
|
||||||
|
|
||||||
:raises pytest.FixtureLookupError:
|
:raises pytest.FixtureLookupError:
|
||||||
If the given fixture could not be found.
|
If the given fixture could not be found.
|
||||||
"""
|
"""
|
||||||
fixturedef = self._get_active_fixturedef(argname)
|
fixturedef = self._get_active_fixturedef(argname)
|
||||||
assert fixturedef.cached_result is not None
|
assert fixturedef.cached_result is not None, (
|
||||||
|
f'The fixture value for "{argname}" is not available. '
|
||||||
|
"This can happen when the fixture has already been torn down."
|
||||||
|
)
|
||||||
return fixturedef.cached_result[0]
|
return fixturedef.cached_result[0]
|
||||||
|
|
||||||
def _get_active_fixturedef(
|
def _get_active_fixturedef(
|
||||||
|
|
Loading…
Reference in New Issue