gpt4 book ai didi

python - 如何在 python 的单元测试中使用 assertRaises() 来捕获语法错误?

转载 作者:行者123 更新时间:2023-12-03 08:22:01 24 4
gpt4 key购买 nike

例如,我想测试一个有语法的函数,在我的 unittest 类的方法中,我可以使用如下代码吗?

self.assertRaises(SyntaxError, my_function)

当我使用它时,它只是出现语法错误的回溯,而不是显示通过了多少测试。

最佳答案

为了让测试运行,代码必须由 Python 解释器进行字节编译。这发生在导入包含您的函数的模块时,在函数运行之前。在编译期间会生成 SyntaxError。

在您的测试模块中,您可以将 import 语句包装在 try/except 中:

    raised = False
try:
import foo
except SyntaxError:
# A syntax error was generated during the import...
raised = True
self.assert_(raised, "'import foo' failed to raise a SyntaxError.")

或使用@alecxe 建议的一种方法,看起来更简单、更干净。

关于python - 如何在 python 的单元测试中使用 assertRaises() 来捕获语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664452/

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