unittest.skip*
装饰器和方法(see here for more details),我发现它们非常有用。
unittest.skip(reason)
unittest.skipIf(condition, reason)
unittest.skipUnless(condition, reason)
但是,我的问题是如果使用python2.6我们应该如何做类似的事情?
答案 0 :(得分:5)
使用unittest2
。
以下代码以对代码其余部分透明的方式导入权限unittest
:
import sys
if sys.version_info < (2, 7):
import unittest2 as unittest
else:
import unittest
答案 1 :(得分:4)
如果您不能使用unittest2并且不介意在Python 2.6中使用不同数量的测试,那么您可以编写使测试消失的简单装饰器:
try:
from unittest import skip, skipUnless
except ImportError:
def skip(f):
return lambda self: None
def skipUnless(condition, reason):
if condition:
return lambda x: x
else:
return lambda x: None
答案 2 :(得分:2)
如果您可以自由安装其他软件包,则可以使用unittest2
,这是Python 2.7 unittest向后移植到Python 2.3+。它确实包含跳过装饰器。