为sys.exit创建单元测试

时间:2016-06-16 10:35:46

标签: python unit-testing

我有一个简单的python函数。

def test():
    print "test"
    sys.exit(1)

我正在使用python 2.6。如何为此功能创建unittest?这是因为sys.exit可以在python 2.7之后的单元测试用例中处理。

任何人都可以让我知道如何为这个简单的代码创建unittest吗?

1 个答案:

答案 0 :(得分:4)

据我所知,sys.exit期间2.x的变化不大。我可以看到的唯一区别是,sys.exit之前没有检查它的参数,而是提出了SystemExit异常(现在它只会在你提供正确的参数时引发它)。

例如,我尝试使用python 2.6(也称为2.6.0)进行以下操作:

import sys
try:
   sys.exit(1)
except SystemExit(1) as e:
   print repr(e)

并以SystemExit(1,)

回复

所以你的测试应该是这样的:

def test():
    passed = False
    try:
        sys.exit(1)
    except SystemExit as e:
        if e.code == 1:
            passed = True

    assert passed