run.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:gmc 作者: kapilgarg1996 项目源码 文件源码
def build_suite(test_labels=None):
    suite = unittest.TestSuite()
    test_loader = unittest.defaultTestLoader
    test_labels = test_labels or ['.']
    discover_kwargs = {}
    for label in test_labels:
        kwargs = discover_kwargs.copy()
        tests = None

        label_as_path = os.path.abspath(label)
        # if a module, or "module.ClassName[.method_name]", just run those
        if not os.path.exists(label_as_path):
            tests = test_loader.loadTestsFromName(label)
        elif os.path.isdir(label_as_path):
            top_level = label_as_path
            while True:
                init_py = os.path.join(top_level, '__init__.py')
                if os.path.exists(init_py):
                    try_next = os.path.dirname(top_level)
                    if try_next == top_level:
                        # __init__.py all the way down? give up.
                        break
                    top_level = try_next
                    continue
                break
            kwargs['top_level_dir'] = top_level

        if not (tests and tests.countTestCases()) and is_discoverable(label):
            # Try discovery if path is a package or directory
            tests = test_loader.discover(start_dir=label, **kwargs)

            # Make unittest forget the top-level dir it calculated from this
            # run, to support running tests from two different top-levels.
            test_loader._top_level_dir = None

        suite.addTests(tests)

    return suite
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号