我有一个简单的Python函数。
def test():
print "test"
sys.exit(1)
我正在使用Python 2.6,如何为此函数创建单元测试?这是因为在Python 2.7之后,sys.exit可以在单元测试用例中处理。
有人能告诉我如何为这个简单的代码创建单元测试吗?
我有一个简单的Python函数。
def test():
print "test"
sys.exit(1)
我正在使用Python 2.6,如何为此函数创建单元测试?这是因为在Python 2.7之后,sys.exit可以在单元测试用例中处理。
有人能告诉我如何为这个简单的代码创建单元测试吗?
sys.exit
几乎没有改变。唯一的区别在于早期的sys.exit
不会检查它的参数,而是无论如何都会引发SystemExit
异常(现在只有在提供正确的参数时才会引发异常)。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
test
函数没有返回值,但是它可以被修改以适应。关键点在于,为了使测试通过,你需要使用sys.exit
来引发正确code
的异常 - 即达到passed = True
语句。 - skyking
sys.exit
应该引发SystemExit
异常。然后单元测试只需要检查它是否引发了适当的异常... - skyking