Python,unittest:可以让TestRunner完全安静吗?

时间:2010-07-01 11:53:55

标签: python unit-testing verbosity

有没有办法让unittest.TextTestRunner完全安静,这意味着它永远不会打印到输出?即使在verbosity=0,它也会在完成后打印结果。

我希望在打印任何内容之前处理由跑步者返回的TestResult对象。

1 个答案:

答案 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."