28

特定のシステムの正確性を検証する Pythonic ツールを作成しています。各検証は 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

私の意見では、この形式は、特に Python を使用していない人にとっては読みにくいものです。素敵な表形式でレポートを生成できるレポートジェネレーターはありますか?

+----------------------------------------------------------------+-----------+
| 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       |
+----------------------------------------------------------------+-----------+

明確化テスト スイートはリモート ターミナルで実行されるため、コマンド ライン レポート ツールを好みます。

4

3 に答える 3

31

これはまさにあなたが求めているものではありませんが、読みやすいテスト出力をそこに置くためのいくつかのオプションがあります:

  • HTMLTestRunnerは、表形式で使いやすい HTML テスト レポートを生成します。サンプル レポートを次に示します。
  • ノーズテストランナー用のnose-html-outputプラグイン
  • unittest -xml-reporting - JUnit のような XML レポートを使用する PyUnit ベースのテストランナー
  • オプション付きの鼻は--with-xunit、読みやすく変換しやすいjunit xmlスタイルのレポートを生成します

以下も参照してください。

とにかくコンソールで表形式でテスト結果を表示したい場合は、 HTMLTestRunnerで行われたのと同じように、独自のノーズ プラグインまたはテスト ランナーを作成することをお勧めします。unittest.TestProgram

それが役立つことを願っています。

于 2013-06-18T07:25:34.340 に答える
10

私の情報をalecxeの回答にコメントとして追加したいのですが、それに対する評判が十分ではありません。

まだ答えを探している人のために、私は HTMLTestRunner をシンプルな TestRunner にフォークしました。これはその出力のサンプルです:

例

ソースコードはhttps://gist.github.com/viniciusd/73e6eccd39dea5e714b1464e3c47e067にあります

すぐに最初から書き直しますが、出力形式はそのままにします。

于 2015-07-28T01:06:48.997 に答える
3

Twisted's Trialをご覧ください。

デフォルトでは、TreeReporter次のようなテスト ランナーを使用します。

裁判の報告

次の内容があります。

  • これはコマンド ライン レポートです。実行するだけです。

    trial test_name.py

  • 色付きの出力: 失敗の場合は赤、成功の場合は緑

  • レポートは、ツリーのような構造を使用します。テストが属する TestCases の下にテストが表示されるため、結果をすばやくたどって特定のテストを見つけることができます。(ただし、さらにいくつかのレポートが提供されます)。

  • また、Python の から派生したテスト ライブラリも含まれていますunittest.TestCase。このライブラリは、サブクラス化することで使用できます twisted.trial.unittest.TestCase。これにより、さらにいくつかのアサーション メソッドが提供されます。

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

于 2013-06-18T14:42:09.643 に答える