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
调用调试测试,因为它会创建一个单独的线程。
在 python 模块中 integration_tests
我有一个脚本 运行 通过文件 run_tests.py
:
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
调用调试测试,因为它会创建一个单独的线程。