Pytest-使用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模块开关两次。因此,现在我将-m pytest开关添加到带有ptvsd调试选项的entrypoint命令中。现在,这个命令运行visualstudio调试器并调用测试。

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

相关内容

  • 没有找到相关文章

最新更新