问题
Is there a way to make unittest.TextTestRunner completely quiet, meaning it never prints to output on its own? Even at verbosity=0
it prints results when done.
I want to process the TestResult object returned by the runner before anything is printed.
回答1:
TextTestRunner has a stream=sys.stderr
in its constructor:
def __init__(self, stream=sys.stderr, descriptions=1, verbosity=1)
Change it to a null stream.
result = unittest.TextTestRunner(stream = open(os.devnull, 'w')).run(alltests)
if len(result.failures) or len(result.errors):
print "Sorry."
来源:https://stackoverflow.com/questions/3157456/python-unittest-can-one-make-the-testrunner-completely-quiet