def test(config, tests=(), fail_fast=False, with_coverage=True, with_lint=True):
if tests:
num_tests = len(tests)
s = '' if num_tests == 1 else 's'
printer.header('Running {num_tests} test{s}...'.format_map(locals()))
else:
coverage_message = ' with coverage' if with_coverage else ''
printer.header('Running tests{coverage_message}...'.format_map(locals()))
runner = unittest.TextTestRunner(failfast=fail_fast)
loader = unittest.TestLoader()
if with_coverage:
from coverage import Coverage
coverage = Coverage(source=['runcommands'])
coverage.start()
if tests:
for name in tests:
runner.run(loader.loadTestsFromName(name))
else:
tests = loader.discover('.')
result = runner.run(tests)
if not result.errors:
if with_coverage:
coverage.stop()
coverage.report()
if with_lint:
printer.header('Checking for lint...')
lint(config)
评论列表
文章目录