2013-06-18 22 views
14

私は特定のシステムの正確性を検証するPythonicツールを作成しています。それぞれの検証は、Pythonのunittestとして書かれた、と報告書がどのように見えるされています。私の意見ではpython unittestの結果が表形式で表示されます

test_exclude_list_not_empty (__main__.TestRepoLists) 
Assert the the exclude list is not empty ... ok 
test_include_list_not_empty (__main__.TestRepoLists) 
Assert the the include list is not empty ... ok 
test_repo_list_not_empty (__main__.TestRepoLists) 
Assert the the repo list is not empty ... ok 

、この形式は、特に非Pythonistsため、読みにくいです。素敵な、表形式でレポートを生成することができる任意のレポートジェネレータ、例えば:

+----------------------------------------------------------------+-----------+ 
| Test               | Status | 
+----------------------------------------------------------------+-----------+ 
| Assert the the exclude list is not empty      | OK  | 
| Assert the the include list is not empty      | OK  | 
| Assert the the repo list is not empty       | OK  | 
| All the items in the include list should be in the repo list | OK  | 
+----------------------------------------------------------------+-----------+ 

明確化テストスイートは、リモート端末上で動作するがあるので、私は、コマンドラインのレポートツールを好みます。

答えて

22

これは、あなたが求めているかを正確にではなく、そこに読み込み可能なテスト出力を持つためのいくつかのオプションがあります。

  • HTMLTestRunnerが表形式でHTML形式のテストレポートを使用して簡単に作成するには。 Hereはサンプルレポートです。 noseテストランナー
  • unittest-xml-reportingため
  • nose-html-outputプラグイン - XMLが--with-xunitオプションで
  • 鼻を報告するようにJUnitを用いたPyUnitではベースのテストランナーは

を読み、変換しやすいのJUnit XMLスタイルのレポートを生成します参照してください:

とにかくコンソールで表形式でテスト結果を確認したい場合は、私は良いアイデアがあなたのown nose pluginを書くことだろうと思いますまたはテストランナーに基づいてそれはHTMLTestRunnerで行われました。

希望に役立ちます。

+0

+1ありがとうございます。これらはいずれも端末シェルに関連していますか? –

+1

確かに、これらのxml/html生成ツールのいずれかをサーバー側にインストールし、リモートターミナルシェルで使用できます。しかし、この場合、ブラウザで最初にレポートをダウンロードする必要があります。または、[lynx](http://lynx.browser.org/)のようなテキストベースのWebブラウザを使用して、コンソールでレポートを表示することもできます。 – alecxe

+0

それは問題を過度に複雑にします。私は、シェル内の簡単な集計が行うと思います。 –

4

Twisted's Trialをご覧ください。デフォルトでは

、それはのように見えるTreeReporterテストランナーを使用しています:

Trial's reporting

それは次のようにあります。

  • それは、コマンドラインのレポートです、ただ実行します。

    trial test_name.py

  • カラー出力:失敗の場合は赤、成功の場合は緑

  • このレポートでは、ツリーのような構造が使用されています。テストケースが属しているテストケースの下にテストが表示され、特定のテストを見つけるために結果を素早くトラバースすることができます。(それはより多くのカップルを提供しますがreports)。

  • また、Pythonのunittest.TestCaseから派生したテストライブラリも含まれています。 twisted.trial.unittest.TestCaseをサブクラス化することにより、このライブラリを使用できます。これはさらにいくつか提供しますassertion methods

  • これには、テストのためのステートメントカバレッジを生成するオプションが含まれています。

6

私はalecxeの答えにコメントとして私の情報を追加したいと思いますが、私はそのための十分な評判を持っていません。

答えを探している人の場合、HTMLTestRunnerを簡単なTestRunnerにフォークしました。これは、表形式の、色付きで、端末に優しい出力を持っています。 これは、その出力のサンプルです:

私はどちらかの画像を投稿するのに十分な評判を持っていないので、ここでのリンクは次のとおりです。http://i.stack.imgur.com/upSC0.png

ソースコードがhttps://gist.github.com/viniciusd/73e6eccd39dea5e714b1464e3c47e067

である私が書き換えなければならそれはまもなくゼロからですが、出力フォーマットを維持します。

+0

ソースコードのリンクが機能しなくなりました。共有する更新されたリンクがありますか? – Deep

+0

リンクを更新してください:( –

+0

Githubですばらしいリポジトリを設定していない間に、Ghostでホストしています –

関連する問題