uprimir a saída de impressão em unittests [duplicado]
Esta pergunta já tem uma resposta aqui:
Silencie o stdout de uma função no Python sem descartar o sys.stdout e restaurar cada chamada de função 8 respostasEditar Observe que estou usando o Python 2.6 (como marcado)
Diga que tenho o seguinte:
class Foo:
def bar(self):
print 'bar'
return 7
E diga que tenho o seguinte teste de unidade:
import unittest
class ut_Foo(unittest.TestCase):
def test_bar(self):
obj = Foo()
res = obj.bar()
self.assertEqual(res, 7)
Então, se eu executar:
unittest.main()
Eu recebo
bar # <-- I don't want this, but I *do* want the rest
.
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK
Exit code: False
Minha pergunta é: existe uma maneira de suprimir a saída do objeto que está sendo testado enquanto ainda obtém a saída da estrutura mais unid
Edita Esta pergunta não é uma duplicata doflagged question, que está perguntando sobre silenciar o stdout de uma função específica dentro de um script python norma
Onde esta pergunta é sobre como ocultar o stdout normal de um script python durante a execução de unittests. Ainda quero que o stdout mais unido seja exibido e não quero desativar o stdout do meu script testad