我定义了一个非常简单的配置管理器(解析配置文件并验证其中是否存在某些键),现在我正在为它编写一些测试。
在配置文件无效的许多情况下,我希望配置处理程序调用exit()
。是否有某种方法可以编写测试以确保调用了exit
并继续进行测试?也许,对于一个测试环境,我可以"模拟"exit
函数吗?
我使用Python 2.7和unittest
。
sys.exit()
引发SystemExit
异常,该异常应该被unittest框架捕获。因此,您可以检查SystemExit
是否为这些测试用例引发。
示例,exit_test.py
:
import sys
import unittest
def func():
sys.exit()
class MyTest(unittest.TestCase):
def test_func(self):
self.assertRaises(SystemExit, func)
if __name__ == "__main__":
unittest.main()
运行:$ python exit_test.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK