gpt4 book ai didi

python - 单元测试 : assert right SystemExit code

转载 作者:太空狗 更新时间:2023-10-29 22:19:48 26 4
gpt4 key购买 nike

我正在使用 unittest断言我的脚本引发了正确的 SystemExit 代码。

基于 http://docs.python.org/3.3/library/unittest.html#unittest.TestCase.assertRaises 中的示例

with self.assertRaises(SomeException) as cm:
do_something()

the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)

我这样编码:

with self.assertRaises(SystemExit) as cm:
do_something()

the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)

但是,这不起作用。出现以下错误:

AttributeError: 'SystemExit' object has no attribute 'error_code'

最佳答案

SystemExit直接派生自 BaseException 而不是 StandardError,因此它没有属性 error_code

您必须使用属性 code 而不是 error_code。该示例如下所示:

with self.assertRaises(SystemExit) as cm:
do_something()

the_exception = cm.exception
self.assertEqual(the_exception.code, 3)

关于python - 单元测试 : assert right SystemExit code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13491724/

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