nosetestsは私の印刷ステートメントの出力をキャプチャしています。これを回避する方法は?


142

入力すると

$ nosetests -v mytest.py

すべてのテストに合格すると、すべての印刷出力がキャプチャされます。すべてが合格でも印刷出力を確認したい。

したがって、私がしていることは、アサーションエラーに次のように出力を表示させることです。

class MyTest(TestCase):

    def setUp(self):
        self.debug = False

    def test_0(self):
        a = .... # construct an instance of something
        # ... some tests statements
        print a.dump()
        if self.debug:
            eq_(0,1)

それはとてもハッキーな感じがします、もっと良い方法があるはずです。教えてください。


プログラムでそれを行う方法はありますか?
Yauhen Yakimovich 2014

回答:


219

どちらか:

$ nosetests --nocapture mytest.py

または:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

nose.cfgファイルで指定することもできます。を参照してくださいnosetests --help


3
有用な回答をありがとう。:私はまた記事で説明したように、私は)(nose.mainにこの引数を渡すことができます知って、それが役に立ったと評価していstackoverflow.com/questions/7070501/...
デヴィッド・ホール


12
このコマンドの短いバージョンはnosetests -sです。その他の標準オプションについては、-hヘルプまたは基本的な使用法のヘルプページを参照してください。
dbn 2013

python3.5 -m "nose" --nocapture
Alex Punnen

1
このオプションを使用しても、テストに合格したときに印刷ステートメントが印刷されない
John Smith省略可能


9

これは最近--nocaptureではなくnoseに追加されました。

nosetests -s


これは質問に対する答えを提供しません。批評したり、著者に説明を要求するには、投稿の下にコメントを残してください。
Bhargav Rao

7
@BhargavRao "do this nosetests -s"が質問に答えます(ただし、文法はほとんど考慮されません)。異議を唱えている理由がわかりません。
dbliss

1
-sの単一文字の略称である--nocaptureとしてフラグドキュメントあたり
joelostblom

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.