我在我的 python 项目中使用 pytest 和 mock。
当我遇到涉及模拟对象(几乎所有对象)的测试失败时,回溯会深入模拟库源代码,而实际上触发失败的代码通常会滚动到视野之外。
有没有办法告诉 py.test 从回溯或类似的东西中排除已安装的库?噪音水平正在远离原本甜蜜的测试库。
我在我的 python 项目中使用 pytest 和 mock。
当我遇到涉及模拟对象(几乎所有对象)的测试失败时,回溯会深入模拟库源代码,而实际上触发失败的代码通常会滚动到视野之外。
有没有办法告诉 py.test 从回溯或类似的东西中排除已安装的库?噪音水平正在远离原本甜蜜的测试库。
有一个技巧:__tracebackhide__
将不会显示定义局部变量的函数。例子:
def some_support_code(x, y):
__tracebackhide__ = True
assert x == y
pytest-mock
包括一个将隐藏模拟库中的回溯的功能。只需安装pytest-mock
即可。