Druckausgabe in Unittests unterdrücken [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Stellen Sie die Standardausgabe einer Funktion in Python still, ohne sys.stdout in den Papierkorb zu werfen und jeden Funktionsaufruf wiederherzustellen 8 answers

Bearbeiten Bitte beachte, dass ich Python 2.6 verwende (wie markiert)

Sag ich habe das folgende:

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

Und sagen, ich habe den folgenden Komponententest:

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

Also wenn ich laufe:

unittest.main()

Ich bekomme

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

OK
Exit code:  False

Meine Frage lautet: Gibt es eine Möglichkeit, die Ausgabe des zu testenden Objekts zu unterdrücken, während die Ausgabe des unittest-Frameworks erhalten bleibt?

Bearbeite Diese Frage ist kein Duplikat desgeflaggte Frage, das fragt, ob stdout einer bestimmten Funktion in einem normalen Python-Skript stummgeschaltet werden soll.

Wenn diese Frage nach dem Ausblenden des normalen Standardwerts eines Python-Skripts beim Ausführen von Unittests fragt. Ich möchte weiterhin, dass die unitteste Standardausgabe angezeigt wird, und ich möchte die Standardausgabe meines getesteten Skripts nicht deaktivieren.