Python中的条件断言

2024-05-19 09:47:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个WS的响应,它返回一个列表的字典。一般来说,我需要检查字典中的列表是否都是空的。不过,现在我需要检查其中一些,但不是全部,根据条件。你知道吗

例如: 结果是:

{
    'firstList': [{...}], #some data in the list
    'secondList': [], #empty list
    'thirdList': [{...}], #some data in the list
    ...
}

例如,如果我有一个条件,secondList不应该被检查

assert len(response['secondList']) > 0

那么它不应该引发异常,但是如果我在条件中没有它,那么它应该引发断言异常。你知道吗

你知道解决这个问题最好的办法是什么吗?或者另一个断言库?你知道吗

最好的办法是在最后收集所有异常,然后我可以验证它们是否正常。你知道吗


Tags: thein列表data字典wssome断言
2条回答

有几种方法,但一种非常干净的方法是:

lists_to_check = ('firstList', 'thirdList')
for list_name in lists_to_check:
    assert len(response[list_name]) > 0

如果你想一个接一个地检查它们,你也可以使用如下方法:

assert condition1 or len(response['firstList']) > 0
assert condition3 or len(response['thirdList']) > 0

但我还是会用第一个。上面的代码片段只检查'firstList''thirdList'的长度。你知道吗

您可以将条件添加到assert

assert condition or len(response['secondList']) > 0

如果至少有一个条件是True,则断言将通过。你知道吗

相关问题 更多 >

    热门问题