Ich verwende py.test, um Tests auszuführen. Ich verwende es mit pytest-xdist, um die Tests parallel auszuführen. Ich möchte die Ausgabe von Druckanweisungen in meinen Tests sehen.So drucken Sie die Ausgabe bei Verwendung von Pytest mit xdist
Ich habe: Ubuntu 15.10, Python 2.7.10, Pytest-2.9.1, Pluggy-0.3.1.
Hier ist meine Testdatei:
def test_a():
print 'test_a'
def test_b():
print 'test_b'
Als ich laufen py.test, wird nichts gedruckt. Das wird erwartet: Standardmäßig erfasst py.test die Ausgabe.
Wenn ich laufe py.test es, druckt es Test_a und test_b, wie es sollte. Wenn ich py.test -s-n2 ausführen, wird wieder nichts gedruckt. Wie kann ich die Druckanweisungen während der Verwendung von -n2 erhalten?
Ich habe bereits pytest + xdist without capturing output und dies bug report gelesen.
Ich fand eine Abhilfe, obwohl keine vollständige Lösung. Durch das Umleiten von stdout nach stderr wird die Ausgabe von print-Anweisungen angezeigt. Dies kann mit einer einzigen Zeile Python-Code erreicht werden: sys.stdout = sys.stderr. Wenn es in conftest.py platziert wird, gilt es für alle Tests. –
Komplettere Antwort in http://stackoverflow.com/q/27006884/151641, überprüfen Sie auch das GitHub-Problem, das dort verlinkt ist (https://github.com/pytest-dev/pytest/issues/680) – mloskot