还未发布过话题
  • 嗯 我刚刚换了 3.6,好像确实是没有差别,改成了以下的代码,
    先找到匹配 test_的 py 文件,然后再找到父目录用 discover 方法。
    import os
    import os.path
    import re
    import unittest

    casepaths = []

    class CaseStrategy:
    def init(self):
    self.casepaths = []

    def createsuite(self):
    for parent, dirnames, filenames in os.walk('..'):

    for filename in filenames:
    # print "parent is:" + parent
    # print "filename is:" + filename
    path = os.path.join(parent, filename)
    # 正则判断是否为测试用例
    match = re.match('test_', filename)
    if match:
    print (u"获取测试用例目录:%s" % parent)
    casepaths.append(parent)
    break

    testunit = unittest.TestSuite()
    # discover 方法定义
    for casepath in casepaths:
    discover = unittest.defaultTestLoader.discover(
    casepath,
    pattern='test_*.py'
    )
    for test_suite in discover:
    for test_case in test_suite:
    testunit.addTest(test_case)
    print (testunit)
    return testunit

    if name == 'main':
    cs = CaseStrategy()
    cs.createsuite()

  • 谢谢你的回复,今天我看了,是测试用例的列表没有取到,所以直接跳过测试用例执行了。
    请问你的 Python 版本是多少呢,我现在用的 3.3.5。
    直接运行 CaseStrategy 的时候报了这样的错,没有找到解决的办法。raise ImportError('Start directory is not importable: %r' % start_dir)
    ImportError: Start directory is not importable ................\TestCase' 不知道和 Python 的版本有没有关系。

  • 下载 Demo 工程来运行,但是为什么运行不起呢。