繁体   English   中英

如何在python unittest中创建测试套件

[英]How do i create a test Suite in python unittest

我试过了:

def buildTestSuite():
    suite = unittest.TestSuite()
    for testcase in glob.glob('src/testsuite/test_*.py'):
        module = os.path.splitext(testcase)[0]
        print module
        print type(module)
        suite.addTest(__import__(module).buildTestSuite())
    return suite

但是我犯错了:

Traceback (most recent call last):
  File "runtests.py", line 63, in ?
    results = main()
  File "runtests.py", line 57, in main
    results = unittest.TextTestRunner().run(buildTestSuite())
  File "runtests.py", line 53, in buildTestSuite
    suite.addTest(__import__(module).buildTestSuite())
AttributeError: 'module' object has no attribute 'buildTestSuite'
def buildTestSuite():
    suite = unittest.TestSuite()
    for testcase in glob.glob('src/testsuite/test_*.py'):
        modname = os.path.splitext(testcase)[0]
        module=__import__(modname,{},{},['1'])
        suite.addTest(unittest.TestLoader().loadTestsFromModule(module))
    return suite

尝试类似的方法:

suite = unittest.TestSuite()
for t in glob.glob('src/testsuite/test_*.py'):
    try:
        # If the module defines a suite() function, call it to get the suite.
        mod = __import__(t, globals(), locals(), ['suite'])
        suitefn = getattr(mod, 'suite')
        suite.addTest(suitefn())
    except (ImportError, AttributeError):
        # else, just load all the test cases from the module.
        suite.addTest(unittest.defaultTestLoader.loadTestsFromName(t))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM