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()中定义的错误消息(“字段类型未识别”)。但它不会打印出来。
有任何建议吗?感谢
答案 0 :(得分:1)
您的print语句位于assert语句之后。如果断言失败,print语句将不会执行(尽管你会有一些关于它的值的消息,所以我想这不是发生的事情)。
如果断言成功,并且测试通过,则禁止打印语句(stdout)。您希望使用Capturing of the stdout/stderr output中记录的-s
运行pytest。