# In test_math.py: @pytest.mark.parametrize argument names ['a', 'b'] do not match the test function signature ['x', 'y']

- **ID:** `python/pytest-parametrize-marks-mismatch`
- **Domain:** python
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The parametrize argnames string does not match the test function's parameter names. pytest requires exact names (order matters for tuple args).

## Version Compatibility

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

## Workarounds

1. **** (98% success)
   ```
   Match names exactly:
  @pytest.mark.parametrize('x,y', [(1,2),(3,4)])
  def test_add(x, y): ...
Or use a list of names:
  @pytest.mark.parametrize(['x','y'], [...])
   ```
2. **** (95% success)
   ```
   Use pytest.param with ids for clarity:
  @pytest.mark.parametrize('x,y', [pytest.param(1,2,id='small')])
   ```

## Dead Ends

- **** — pytest inspects the signature and rejects **kwargs for parametrization; test still errors. (90% fail)
- **** — pytest treats 'args' as a single parameter, breaking tuple unpacking. (80% fail)
