2015-05-26 3 views
1

Я хотел подавить вывод трассировки, чтобы показать статус шоу как ok или FAIL, ERROR и когда-нибудь с одной строкой, чтобы объяснить отказ.nosetest - для отмены traceback с sys.tracebacklimit = 0 не вступают в силу

Как мы это сделаем? похоже, что tracebacklimit = 0 не работает.

import sys 
sys.tracebacklimit = 0 
def test_something(): 
     assert 1 == 2 

исполнение показать отслеживающий

# nosetests a.py -v 
a.test_something ... FAIL 

====================================================================== 
FAIL: a.test_something 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
File "/usr/lib/python2.6/site-packages/nose/case.py", line 197, in runTest 
     self.test(*self.arg) 
File "/root/a.py", line 6, in test_something 
     assert 1 == 2 
AssertionError 

---------------------------------------------------------------------- 
Ran 1 test in 0.001s 

FAILED (failures=1) 

ответ

1

Это трудно сделать это без writing свой собственный плагин, вероятно, что-то очень похожее на Failure Detail. Если вы в конечном итоге собираетесь внедрять плагин, вы можете выводить свои результаты на stdout и подавлять вывод stderr из носа, перенаправляя его на null. В качестве альтернативы, используйте существующий плагин xunit для сводки тестов и проигнорируйте вывод носа вместе.