最近、Pythonユニットテストのニーズに合わせて、noseから新しいunittest2パッケージに切り替えました。コード内のdoctestを認識するための「discover」コマンドを取得できないという事実を除いて、それは私が望むすべてを実行します-私はまだそれらを実行するためにnoseを使用する必要があります。これは実装されていませんか、それとも私がここで見逃しているものがありますか?
2 に答える
3
Unit2 は通常の Python テストのみを検出します。doctest を実行するためには、最小限のボイラープレートを書く必要があると思います。また、次のプラグイン アーキテクチャにより、これらのタスクの一部を簡単に自動化できます。
その間。tox をご覧になることをお勧めします (unittest2 の作成者がここで説明しています) http://www.voidspace.org.uk/python/weblog/arch_d7_2010_07_10.shtml
于 2010-07-27T13:57:47.503 に答える
1
doctest について unit2 に伝えるために必要なボイラープレートは、実際には現在の doctest のドキュメントに記載されていますが、見つけるのに数分かかりました。
http://docs.python.org/library/doctest.html#unittest-api
モジュールを自分でインポートする代わりに、モジュール名をコンストラクターに渡すことができることに注意してDocTestSuite
ください。これにより、定型ファイルの長さを半分に減らすことができます。次のようにする必要があります。
from doctest import DocTestSuite
from unittest import TestSuite
def load_tests(loader, tests, pattern):
suite = TestSuite()
suite.addTests(DocTestSuite('my.module.one'))
suite.addTests(DocTestSuite('my.module.two'))
suite.addTests(DocTestSuite('my.module.three'))
return suite
于 2011-07-21T20:32:47.443 に答える