使用' unittest '来验证是否调用了' exit '函数



我定义了一个非常简单的配置管理器(解析配置文件并验证其中是否存在某些键),现在我正在为它编写一些测试。

在配置文件无效的许多情况下,我希望配置处理程序调用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

相关内容

  • 没有找到相关文章

最新更新