首页 文章

单元测试在python 2.6中崩溃(我正在使用Travis CI)

提问于
浏览
0

这是崩溃:

回溯(最近一次调用最后一次):文件“setup.py”,第22行,在test_suite =“tests.get_tests”中,文件“/usr/lib/python2.6/distutils/core.py”,第152行,在setup dist.run_commands()文件“/usr/lib/python2.6/distutils/dist.py”,第975行,在run_commands中self.run_command(cmd)文件“/usr/lib/python2.6/distutils/dist . py“,第995行,在run_command cmd_obj.run()文件”/home/travis/virtualenv/python2.6/lib/python2.6/site-packages/setuptools/command/test.py“,第138行,在运行中self.with_project_on_sys_path(self.run_tests)文件“/home/travis/virtualenv/python2.6/lib/python2.6/site-packages/setuptools/command/test.py”,第118行,in_project_on_sys_path func()文件“ /home/travis/virtualenv/python2.6/lib/python2.6/site-packages/setuptools/command/test.py“,第164行,在run_tests中testLoader = cks文件”/usr/lib/python2.6/unittest .py“,第816行,在init self.parseArgs(argv)文件”/usr/lib/python2.6/unittest.py“,第843行,在parseArgs中self.createTests()文件”/ usr / lib / python2 . 6 / unittest.py“,行849,在createTests self.module)文件“/usr/lib/python2.6/unittest.py”,第613行,在loadTestsFromNames suites = [self.loadTestsFromName(name,module)for name in names]文件“/ usr / lib / python2.6 / unittest.py“,第598行,在loadTestsFromName中测试= obj()文件”/home/travis/build/myproject/foo/tests/init.py“,第7行,在get_tests中返回unittest.TestLoader ().discover(start_dir,pattern =“test _ * .py”)AttributeError:'TestLoader'对象没有属性'discover'

这是我的测试/ init .py

import os.path
import unittest


def get_tests():
    start_dir = os.path.dirname(__file__)
    return unittest.TestLoader().discover(start_dir, pattern="test_*.py")

在python 2.7中,pypy,3.2,3.3正常工作

为什么崩溃在python 2.6上?谢谢!

1 回答

  • 0

    使用:

    from discover import DiscoveringTestLoader
    
    
    def get_tests():
        start_dir = os.path.dirname(__file__)
        test_loader = DiscoveringTestLoader()
        return test_loader.discover(start_dir, pattern="test_*.py")
    

    安装时间: pip install discover

相关问题