Python, unittest: можно ли сделать TestRunner совершенно бесшумным? - PullRequest
6 голосов
/ 01 июля 2010

Есть ли способ сделать unittest.TextTestRunner полностью тихим, что означает, что он никогда не печатает для вывода самостоятельно?Даже на verbosity=0 он печатает результаты по завершении.

Я хочу обработать объект TestResult, возвращенный бегуном, прежде чем что-либо будет напечатано.

1 Ответ

7 голосов
/ 01 июля 2010

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