根据python版本导入`unittest`或`unittest2`的推荐方法是什么?

时间:2016-01-18 02:51:40

标签: python python-unittest

我需要这个小test.py脚本才能让它在我们的CI上运行。在我们的本地机器中,大多数人使用python 2.7,因此import unittest可以工作。但在CI中,环境是python 2.6,这意味着import unittest2

目前,我正在通过

调用脚本
if __name__ == '__main__':
    logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(message)s')
    import xmlrunner
    unittest2.main(testRunner=xmlrunner.XMLTestRunner(output='xml-reports'))

2 个答案:

答案 0 :(得分:1)

您可以在运行时检查python版本并指定所需的导入。

import sys

if sys.version_info[0] == 2 and sys.version_info[1] < 7:
    import unittest2
elif sys.version_info[0] == 2 and sys.version_info[1] == 7:
    import unittest

答案 1 :(得分:0)

另一种选择是使用 try/except:

try:
    import unittest2 as unittest
except ImportError:
    import unittest

这应该是 unittest 可用于您正在使用的 Python 的最佳选择,但在所有情况下始终导入为 unittest