相关疑难解决方法(0)

我怎样才能让 pytest 不捕获异常

当我在 vscode 调试器中运行 pytest 并选中“Uncaught Exceptions”并且有测试错误时,不会发生未捕获的异常,因为 pytest 捕获它们并报告结果。我怎么能告诉 pytest 只让异常发生?以便我可以在 vscode 调试器中捕获它们?

基本上我想要这样的行为,--pdb但我希望它启动 vscode 调试器而不是 pdb。这面旗帜--pdbcls听起来很有希望,但不知道该<module>:<class>送什么。

注意:通常我只会让它在引发异常时中断。但是我们的代码有大量引发但捕获的异常,所以这个选项没有用。

这是在调试 pytest 测试时引发 AssertionError 时 vscode 不会中断的视频:

在此处输入图片说明

@rioV8 下面的建议确实打破了异常,但由于某种原因,没有堆栈,这意味着您无法从那里进行调试:

在此处输入图片说明

我一定遗漏了一些东西,因为似乎没有其他人需要这种能力。但对我来说,这似乎绝对是测试框架和调试器可以做的最基本的最简单的事情:作为开发人员,我想从出现错误的地方进行调试。

人们使用带有 pytest 的调试器肯定有一些完全不同的方式,我忽略了一些明显的技术。

visual-studio-code vscode-debugger vscode-python

8
推荐指数
1
解决办法
2975
查看次数

在 python (pytest) 测试中使用资源文件

有人能告诉我在 pytest 中处理资源文件的正确方法是什么吗?

我习惯在包(src)目录下创建一个资源目录,并在测试分支下创建另一个目录

root---package---resource_dir
     |         |-file1.py
     |         |-file2.py
     |
     |-test-- resource_dir-
            |              |-config1.csv
            |              |-config2.csv
            |-test1.py
            |-test2.py
Run Code Online (Sandbox Code Playgroud)

如果我想从测试中访问这些文件,Pythonic 的方式是什么?到目前为止,我一直在使用相对文件路径,但该解决方案并不是很好。有没有类似于Java资源解决方案的解决方案?

python pytest python-3.x

6
推荐指数
1
解决办法
5979
查看次数