如何解决防止 vscode Python 单元测试在测试失败时打开最终的 sys.exit()
在 pytest
下使用 vscode
运行 python3.8 单元测试 - 当测试失败时,pytest 存在并带有 sys.exit(1)
。这本身是可以的 - 但是 VSCode 坚持在发生这种情况时打开 pytest.py
行,这很不方便,因为:
- 调试器在调用
pytest.py
时弹出打开sys.exit(...)
,将 UI 焦点从我正在处理的任何文件上移开,要求我返回。 - 在文件浏览器中,树展开以显示
pytest.py
- 这意味着整个venv
包树展开,迫使我进行大量滚动以重新隐藏它。
如何让 vscode 不打开 pytest.py
? cmd窗口中的测试失败输出是必要的,也是充分的。如果解决方案可以防止 any sys.exit()
导致隐式断点,我会没事的。
这里可能很重要的一个细节是我们将这些作为 "type":"python","request":"launch"
在 launch.json
not "type":"python","request":"unittest"
中运行 - 原因是这允许单元测试以与 CI
跑步者的工作方式相同的方式运行。但是,这个launch.json 条目确实有"justMyCode":true
,而pytest.py
是外部代码——所以它仍然不应该破坏该外部代码中的任何内容(?)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。