微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 在pytest中断言时忽略dict中的元素

我想知道在pytest中执行断言时是否有办法忽略dict中的元素.我们有一个断言,它将比较包含last_modified_date的列表.日期将始终更新,因此无法确定日期是否等于最初输入的日期.

例如:

{'userName':'bob','lastModified':'2012-01-01'}

谢谢
松鸦

解决方法:

我通过创建等于所有东西的对象解决了这个问题:

class EverythingEquals:
    def __eq__(self, other):
        return True

everything_equals = EverythingEquals()

def test_compare_dicts():
    assert {'userName':'bob','lastModified':'2012-01-01'} == {'userName': 'bob', 'lastModified': everything_equals}

这样它将被比较为相同,你也会检查你的dict中有’lastModified’.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐