尝试在pytest屏幕上打印异常错误

时间:2015-05-22 09:50:33

标签: python exception testing pytest

def different_type():
    if types == 'int64':
        pass
    else:
        raise KeyError('field type not recognized')


def test_TypeErrorHandling():
    with pytest.raises(KeyError) as excinfo:
        different_type()
    assert excinfo.value.message == 'field type not recognized'
    print excinfo.value.message

目前我有两段代码并执行加注异常,以便在我执行pytest运行时尝试打印命令提示符屏幕上test_TypeErrorHandling()中定义的错误消息(“字段类型未识别”)。但它不会打印出来。

有任何建议吗?感谢

1 个答案:

答案 0 :(得分:1)

您的print语句位于assert语句之后。如果断言失败,print语句将不会执行(尽管你会有一些关于它的值的消息,所以我想这不是发生的事情)。

如果断言成功,并且测试通过,则禁止打印语句(stdout)。您希望使用Capturing of the stdout/stderr output中记录的-s运行pytest。