2012-09-11 5 views
6

ノーズsupports test generatorsしかし、ドキュメントは言う:unittestフレームとnoseフレームワークの競合

そのメソッド・ジェネレータは たunittest.TestCaseサブクラス

でサポートされていません。これは、すべて私のテストジェネレータはunittest枠組みの外でなければならないことを意味しますのでご注意ください。

質問:可能な限り、これらのテストにはunittestフレームワークを使用する必要がありますか?あるいは、一貫性の理由から、私はunittestを完全に放棄すべきですか?

の中でnoseがテストジェネレータをサポートしていないのはなぜですか? noseの最大の利点は、の代わりにunittestの代わりにの拡張であることがわかります。unittestで提供されている機能を削除することなく追加の利点が得られます。または私は何かを逃していますか?

そして関連する質問。私がunittestを完全に捨てるならば、テストをグローバル関数か新しいクラス階層に入れなければなりませんか?

+0

テストジェネレータに似たものが必要でしたが、[nose-parameterized](https://github.com/wolever/nose-parameterized)を使用してしまいました。デコレータのシンタックスははるかに洗練されており、 'unittest.TestCase'を使って動作しました。 –

答えて

5

鼻では、unittest.TestCasesのテストのよりファニーな種類のサポートの欠如は意図的です - 考えはunittestとしてunittest.TestCases 正確にからのテストを収集する必要がありました。おそらくそれは悪い考えでしたが、今は変わることはほとんどありません。

出血で少し外れても構わない限り、nose2を試してみることをおすすめします。 nose2は、あらゆる種類のテスト用のすべての種類のテストプラグインを識別してサポートしていません。ドキュメントはrtdにあります:http://nose2.readthedocs.org/en/latest/index.html、pypi:http://pypi.python.org/pypi/nose2/0.4.1でダウンロードします。

関連する問題