如何从pytest traceback中删除库代码调用?

时间:2013-09-08 05:13:31

标签: python unit-testing mocking pytest

我在我的python项目中使用pytest和mock。

当我得到涉及模拟对象(几乎所有这些)的测试失败时,回溯潜入模拟库源代码中,实际触发失败的代码通常会滚出视图。

有没有办法告诉py.test从回溯中排除已安装的库或类似的东西?噪音水平正在消除甜蜜测试库。

2 个答案:

答案 0 :(得分:4)

有一个hack:定义局部变量__tracebackhide__的函数将不会显示。例如:

def some_support_code(x, y):
    __tracebackhide__ = True
    assert x == y

答案 1 :(得分:3)

pytest-mock包含一个隐藏模拟库回溯的功能。只需安装pytest-mock即可完成。