您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

我可以在pytest中执行多个断言吗?

我可以在pytest中执行多个断言吗?

正如Jon Clements所评论的那样,您可以填充错误消息列表,然后断言该列表为空,并在断言为false时显示每条消息。

具体来说,可能是这样的:

def test_something(self):
    errors = []

    # replace assertions by conditions
    if not condition_1:
        errors.append("an error message")
    if not condition_2:
        errors.append("an other error message")

    # assert no error message has been registered, else print messages
    assert not errors, "errors occured:\n{}".format("\n".join(errors))

原始断言被替换为在不满足条件的情况下if将消息追加到errors列表的语句。然后,您断言errors列表为空(空列表为False),并使断言消息包含errors列表中的每条消息。

您还可以按照鼻子文档中的说明制作测试生成器。我没有找到任何描述它的pytest文档,但是我知道pytest的处理方式与鼻子完全相同。

其他 2022/1/1 18:24:02 有487人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶