4

私たちは、ノーズ フレームワークを使用して Python で機能テスト ケースと単体テスト ケースを書き始めました。これらのテストを書きながら、Python の学習を開始しました。テスト クラス/関数間には多くの依存関係があるため、実行順序を制御するために鼻の上にテング フレームワークを使用することにしました。

テストにはかなりの数の「print」ステートメントがあり、テングはこれらを無視しているようです! テストは想定どおりに実行され、すべてのテストが実行されていますが、print ステートメント データはコンソールに出力されていません。ここで何が欠けているか分かりますか?

ところで、テングに移動してすべてのクラスとそのメンバー関数を @test で装飾したら、「unittest.TestCase」からクラスを派生させるのをやめました。

4

1 に答える 1

4

注: Proboscisの ドキュメント によると、「未使用の引数はNoseまたはunittestモジュールに渡される」ため、以下を.に置き換えることでProboscisに適用する必要があります。nosetestspython run_tests.py

@Woobleがコメントで述べているように、デフォルトでは、失敗したテストに対してのみnoseキャプチャして表示します。またはスイッチstdoutを使用して、この動作をオーバーライドできます。nosetests -s--nocapture

$ nosetests --nocapture

@Woobleも彼のコメントで言及しているように、の代わりにロギングモジュールを使用することをお勧めしますprintnosetests次に、-l DEBUGまたは--debug=DEBUGスイッチを渡すだけDEBUGで、モジュールからのログ出力の表示を有効にするために、表示するロガーの名前のコンマ区切りのリストに置き換えられます。

$ nosetests --debug=your-logger-name
于 2012-10-10T17:37:10.977 に答える