如何跳过python 2.6中的unittest案例

时间:2013-12-05 08:59:10

标签: python unit-testing

自从python2.7以来,添加了

unittest.skip*装饰器和方法(see here for more details),我发现它们非常有用。

unittest.skip(reason)
unittest.skipIf(condition, reason)
unittest.skipUnless(condition, reason)

但是,我的问题是如果使用python2.6我们应该如何做类似的事情?

3 个答案:

答案 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+。它确实包含跳过装饰器。