繁体   English   中英

Python单元测试字典断言KeyError

[英]Python Unit Test Dictionary Assert KeyError

我不确定如何创建 Python unittest 来检查字典是否返回 KeyError。 我认为单元测试会调用字典键,所以它看起来像这样:

def test_dict_keyerror_should_appear(self):
    my_dict = {'hey': 'world'}
    self.assertRaises(KeyError, my_dict['some_key'])

但是,我的测试只会出现KeyError错误,而不是断言发生了 KeyError。

为了解决这个问题,我使用了一个lambda来调用字典键来引发错误。

def test_dict_keyerror_should_appear(self):
    my_dict = {'hey': 'world'}
    self.assertRaises(KeyError, lambda: my_dict['some_key'])

另一种选择是使用operator.getitem

from operator import getitem

self.assertRaises(KeyError, getitem, my_dict, 'some_key')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM