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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage