'How to get caller name inside pytest fixture?

Assume we have:

@pytest.fixture()
def setup():
    print('All set up!')
    return True

def foo(setup):
    print('I am using a fixture to set things up')
    setup_done=setup

I'm looking for a way to get to know caller function name (in this case: foo) from within setup fixture.

So far I have tried:

import inspect

@pytest.fixture()
def setup():
    daddy_function_name = inspect.stack()[1][3]
    print(daddy_function_name)

    print('All set up!')
    return True

But what gets printed is: call_fixture_func

How do I get foo from printing daddy_function_name?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source