有没有办法让unittest.TextTestRunner完全安静,这意味着它永远不会打印到输出?即使在verbosity=0
,它也会在完成后打印结果。
我希望在打印任何内容之前处理由跑步者返回的TestResult对象。
答案 0 :(得分:7)
TextTestRunner在其构造函数中有一个stream=sys.stderr
:
def __init__(self, stream=sys.stderr, descriptions=1, verbosity=1)
将其更改为空流。
result = unittest.TextTestRunner(stream = open(os.devnull, 'w')).run(alltests)
if len(result.failures) or len(result.errors):
print "Sorry."