Suprimir salida de impresión en pruebas unitarias [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Silence el stdout de una función en Python sin destruir sys.stdout y restaurar cada llamada de función 8 respuestas

Editar Tenga en cuenta que estoy usando Python 2.6 (como está etiquetado)

Di que tengo lo siguiente:

class Foo:
    def bar(self):
        print 'bar'
        return 7

Y digamos que tengo la siguiente prueba de unidad:

import unittest
class ut_Foo(unittest.TestCase):
    def test_bar(self):
        obj = Foo()
        res = obj.bar()
        self.assertEqual(res, 7)

Así que si corro:

unittest.main()

Yo obtengo

bar # <-- I don't want this, but I *do* want the rest
.
----------------------------------------------------------------------
Ran 1 test in 0.002s

OK
Exit code:  False

Mi pregunta es: ¿hay alguna forma de suprimir la salida del objeto que se está probando y al mismo tiempo obtener la salida del marco de prueba de unidad?

Edita Esta pregunta no es un duplicado de la pregunta marcada que pregunta sobre silenciar stdout de una función particular dentro de un script de python normal.

Mientras que esta pregunta es acerca de cómo ocultar el stdout normal de un script de Python mientras se ejecutan las pruebas unitarias. Todavía quiero que se muestre el stdout de unittest, y no quiero deshabilitar el stdout de mi script probado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta