【发布时间】:2023-03-31 00:44:01
【问题描述】:
我正在尝试进行单元测试,但不太明白为什么这两个字典显示不相等。我想知道是否有人可以给我解释这个事件。我的代码是...
import unittest
class TestEmailValidator(unittest.TestCase):
def test(self):
known_dict = {
'debo@foobar.com': True,
'debo@gmail.com': False
}
result_dict = {}
for key in known_dict.keys():
result_dict[key] = is_email_valid(key)
# debugger results
# result_dict = {
# 'debo@foobar.com': True,
# 'debo@gmail.com': False
# }
if self.assertEqual(known_dict, result_dict):
print "is_email_valid passed"
else:
print "is_email_valid failed"
if __name__ == '__main__':
unittest.main()
assertEqual、assertEquals 和 assertDictEquals 得到相同的结果。我曾尝试在测试前将result_dict 分配给known_dict,但这也没有通过。
如果有人能指出为什么会发生这种情况,那就太好了。
【问题讨论】:
-
is_email_valid未包含在内,因为它非常基本,如果字符串以foobar.com结尾,则返回 True。
标签: python python-2.7 unit-testing dictionary