# TypeError: test_func() missing 1 required positional argument: 'value'

- **ID:** `python/pytest-fixture-indirect-param-missing`
- **Domain:** python
- **Category:** type_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

pytest.mark.parametrize(..., indirect=True) was used, but the named fixture does not actually accept a 'request' argument to read request.param, so the fixture returns nothing and the test sees a missing argument.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 7.x | active | — | — |
| 8.x | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   @pytest.fixture
def value(request):
    return request.param * 2

@pytest.mark.parametrize('value', [1, 2, 3], indirect=True)
def test_func(value):
    assert value in (2, 4, 6)
   ```
2. **** (90% success)
   ```
   @pytest.fixture
def make_value():
    def _make(n):
        return n * 2
    return _make

@pytest.mark.parametrize('n', [1, 2, 3])
def test_func(make_value, n):
    assert make_value(n) in (2, 4, 6)
   ```

## Dead Ends

- **** — Changes the fixture into a direct parameter, so the fixture logic (setup, teardown) never runs. (75% fail)
- **** — Hides the real problem; the fixture still does not receive the parametrized value. (80% fail)
