def METHOD_NAME(self, func):
    if isinstance(func, tuple):
        namespace, func = func
    else:
        namespace = None
    if nofixtures.is_marked(func):
        return
    args = get_arguments(func)
    parametrizations = {}
    for name, param in iter_parametrization_fixtures(func):
        # make sure the parametrization is in the store
        self._store.ensure_known_parametrization(param)
        parametrizations[name] = param
        self._needed_fixtures.append(param)
    for argument in args:
        fixture = parametrizations.get(argument.name, None)
        if fixture is None:
            try:
                fixture = self._store.get_fixture_by_argument(argument)
            except FixtureException as e:
                raise type(e)('Loading {0.__code__.co_filename}:{0.__name__}: {1}'.format(func, e))
        self._needed_fixtures.append(fixture)
        arg_name = argument.name
        if namespace is not None:
            arg_name = '{}:{}'.format(namespace, arg_name)
        self._populate_param_name_bindings(arg_name, fixture)
        self._arg_name_bindings[arg_name] = fixture
    for fixture in self._autouse_fixtures:
        self._populate_param_name_bindings(fixture.info.name, fixture, prefix='::')
    for fixture_name in getattr(func, '__extrafixtures__', []):
        fixture = self._store.get_fixture_by_name(fixture_name)
        self._populate_param_name_bindings(fixture_name, fixture)
        self._needed_fixtures.append(fixture)