我有一个简单的python函数。
def test():
print "test"
sys.exit(1)
我正在使用python 2.6。如何为此功能创建unittest?这是因为sys.exit可以在python 2.7之后的单元测试用例中处理。
任何人都可以让我知道如何为这个简单的代码创建unittest吗?
答案 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