20

Python には、標準の xUnit スタイルのテスト フレームワークと互換性のあるユニット テスト フレームワークがありますか? もしそうなら、それは何ですか、それはどこにありますか、それは何か良いですか?

4

9 に答える 9

25

Python には、 、 、 などunittest、いくつかのテスト フレームワークがdoctestありnoseます。最も xUnit に似ているのはunittest、Python.org で文書化されている です。

于 2008-08-31T05:09:33.813 に答える
9

をお勧めします。

これは、ユニットテストフレームワークの中で最もPythonicです。テストランナーはdoctestとunittestの両方を実行するため、好きなスタイルのテストを自由に使用できます。

于 2008-09-01T08:30:52.620 に答える
3

テストのかなり完全なスイートであるtestoobがあります。xUnit-ieもあり、優れたレポートオプションがあります

于 2008-08-31T05:20:32.587 に答える
2

py.testを検討してください。NUnitと完全に類似しているわけではありませんが、非常に優れており、テストの自動検出や「テストとコードを監視します。何か変更があった場合は、前回失敗したテストを再実行します。すべてのテストに合格したら、すべての実行に切り替えます。何かが変わるたびにテストします。」オプション。

于 2008-08-31T11:53:28.303 に答える
2

@Greg: PyUnit は標準ライブラリに含まれています。unittest

于 2008-08-31T05:37:18.223 に答える
1

ノーズをお勧めします。

合理的な簡単なインストールの後、プロジェクトフォルダで「nosetests」を実行するだけで、Noseがすべてのテストを見つけて実行します。また、プラグインのコレクション(カバレッジ、GAEなど)と、Pythonスクリプト内から直接Noseを呼び出す機能も気に入っています。

于 2009-08-21T04:41:05.797 に答える
0

xUnitを使用したことがないため、フレームワークが比較して良いか悪いかはわかりませが、これは、unittestフレームワーク(APIが正常に機能することを確認するため)とdoctest(私が仕事をした例)

私の唯一の問題は、何かが例外を発生させるかどうかをチェックすることです(フレームワークの他の部分のようにコマンド自体だけでなく、例外を発生させる関数/ラムダを渡す必要があります)。確実に必要であり、かなり前からデフォルトのpythonディストリビューションに含まれています。

于 2008-08-31T12:44:46.247 に答える
0

鼻は、柔軟性と利便性の最良の組み合わせのようです。単体テスト、doctest、カバレッジ (拡張機能付き)、および py.test のようなテストを 1 つのフレームワークから実行し、見事に実行します。Komodo Edit にも IDE 統合が行われるほどの人気があり、他の場所でも同様に見られても驚かないでしょう。

私がこれを気に入っている理由は 1 つあります。それは、別のフレームワークでより広範なテストを作成する前に、ほとんどの場合、doctest を実行することです。これは、基本的なテストの場合、ドクターテストは一石二鳥だからです。実行可能なテスト (うまく書くのが少し不器用な場合もあります) だけでなく、API ドキュメントと対話型ドキュメントも同時に取得できます。コマンド ライン オプション (--with-doctest) を使用すると、nose はバンドルされている doctest 拡張機能を使用してこれらを実行します。

これは私の以前のお気に入りとして py.test から来たと言います。それは素晴らしいことですが、鼻のテストは私にとって見逃すことのないほど似ています。YMMVですが、別のものを選ぶ前に鼻をよく見ることをお勧めします. py.test テストに慣れていない場合は、それらも参照してください。それらは通常、テスト フレームワークなしで簡単にデバッグできるように記述されているため、素晴らしいと思います。これにより、デバッグ セッションに関与する複雑なシステムが 1 つ少なくなります。それだけでも非常に価値があると思いますが、私の意見では、ユニットテストよりも簡単に記述できます。

于 2010-02-03T19:15:29.680 に答える
0

あなたが探しているものかもしれないPyUnitもあります。

于 2008-08-31T05:35:50.053 に答える