gpt4 book ai didi

python - Unitest 用于处理异常的函数

转载 作者:行者123 更新时间:2023-12-01 03:49:44 25 4
gpt4 key购买 nike

我有一个函数,如果存在无效字符,则解析 xml 字符串,etree.parse 会引发解析错误,我的函数通过解码字符串并将字符串编码回来来处理该错误。它如何测试处理异常的部分?对于无效数据,它会像对于有效数据一样返回正常输出。

def get_parse_tree(xml):
try:
tree = etree.parse(cStringIO.StringIO(xml))
except etree.ParseError:
clean_xml = xml.decode("utf-8", errors="ignore").encode("utf-8")
tree = etree.parse(cStringIO.StringIO(clean_xml))
except Exception as e:
print e
return tree

最佳答案

您的单元测试不一定需要关心错误输入引发的异常(如果有)。只需使用错误输入调用该函数,并验证是否返回了预期的“固定”值,或者验证是否发生了不可恢复的错误。

self.assertEqual(get_parse_tree("good input"), "good output one")
self.assertEqual(get_parse_tree("bad but recoverable input"), "good output two")
self.assertRaise(Exception, get_parse_tree, "bad, unrecoverable input")

关于python - Unitest 用于处理异常的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38443299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com