Pytest - 使用 VSCode 调试时跳过测试中的断点

Pytest - Breakpoints in tests are being skipped when debugging with VSCode

在 python 模块中 integration_tests 我有一个脚本 运行 通过文件 run_tests.py:

中的 pytest 我的测试
import pytest

if __name__ == "__main__":    
    pytest.main(['./integration_tests/']) # breakpoint here works, but no breakpoints in test methods

在我的 docker-compose.yml 文件中,我通过设置入口点附加了一个调试器和 运行 测试:

entrypoint: ["/usr/src/app/cvenv/bin/python3.8", "-m", "ptvsd", "--host", "0.0.0.0", "--port", "5678", "--wait", "./integration_tests/run_tests.py"]

run_tests.py 文件中的断点有效。但是之后没有断点被执行。

我怎样才能真正调试测试,而不仅仅是在 pytest 调用之前?

我不知道我可以使用 -m 模块开关两次。所以现在我使用 ptvsd 调试选项将 -m pytest 开关添加到入口点命令。 现在此命令运行 visual studio 调试器并调用测试。

我无法使用 pytest.main 调用调试测试,因为它会创建一个单独的线程。