pytest_fixture_setup hook - fixtures can return None #2698
Closed
Comments
@uSpike thansk for coming out and making this weakness that is based on the structure of how the plug-in system works obvious i believe we should try to document that pitfall however the general expectation for a fixture is to actually return something, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, I was looking into implementing my own
pytest_fixture_setup()
and I noticed something interesting.The hook is defined with
@hookspec(firstresult=True)
so, as the docstring describes it will stop at the first non-None
result. However, it seems that this hook is supposed to return the return value of the fixture call, see https://github.com/pytest-dev/pytest/blob/master/_pytest/fixtures.py#L788. This is interesting, because a fixture could returnNone
even though it has run. A trivial example:The effect of this is that if I want to override
pytest_fixture_setup()
and not have it run again (from the internally defined hook), then I must return a non-None
value. But, this may not reflect the actual value as returned from the fixture.Am I missing something? Is this not a big deal? I think it's strange to return
True
even if it is not affecting my tests.The text was updated successfully, but these errors were encountered: