py.test:格式失败断言并打印自定义消息

时间:2013-10-11 01:17:11

标签: python assert pytest

py.test assert docs

  

...如果您指定带有如下断言的消息:

     

assert a % 2 == 0, "value was odd, should be even"

     

然后没有断言   内省完全取而代之,消息将被简单地显示出来   在追溯中。

Python的内置unittest模块也会这样做,除非您的TestCase设置longMessage = True

具有良好的断言格式是测试开发人员友好,而自定义消息更符合业务要求/人性化。当你不在测试的上下文中时,自定义消息特别有用,即它可以回答断言在那里做的事情,而不必查看代码。所以,我想要两条消息。

有没有办法让py.test很好的断言内省和格式化并打印自定义消息?

1 个答案:

答案 0 :(得分:2)

目前无法启用断言额外信息和消息。我认为可以添加,但不确定需要多少努力。到目前为止,这个问题还没有我所知。随意提出问题或尝试拉取请求。但请注意,如果您经过编写自定义人类可读消息的努力,您可能还可以从表达式中添加一些有趣的值。