问题描述
在 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 (将#修改为@)