# How to Debug Pytest With pdb Breakpoints?

To debug a pytest test using pdb, you can manually insert a breakpoint by adding `import pdb; pdb.set_trace()` in your test:

```python
[label test_exception.py]
import pytest

def divide(x, y):
    return x / y

def test_zero_division():
    import pdb
    pdb.set_trace()
    with pytest.raises(ZeroDivisionError):
        divide(9, 0)
```

When running your tests, include the `--pdb` flag with the pytest command to enable interactive debugging:

```command
pytest test_exception.py --pdb
```

This will initiate the pdb prompt at the point where the breakpoint is set:

```text
[output]

... 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB set_trace (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> /Users/stanley/test_exception.py(12)test_zero_division()
-> with pytest.raises(ZeroDivisionError):
(Pdb) 
```

Another way to set breakpoints is  using the  built-in `breakpoint()` function, which simplifies the process of setting breakpoints:

```python
[label test_exception.py]
def test_zero_division():
    breakpoint()
    with pytest.raises(ZeroDivisionError):
        divide(9, 0)
```

This method is often preferred for its simplicity compared to `import pdb; pdb.set_trace()`.