を拡張unittest.TestCase
し、パラメータ化に使用するテスト クラスがありnose_parameterized
ます。私はnosetests -v
テストを実行するために使用しています。私はノーズテストのバージョン 1.3.7 を持っています。
テストランナーに各テストの名前を出力してもらいたいです。代わりに、テストに渡されたパラメーターを出力するだけです。
これが私の実際の出力の例です:
[with sentence='Put it on the top shelf of the bookshelf'] ... ok
[with **None={'world': [<WorldObject table>, ...'basic', 'language': 'Pick cup'}] ... ERROR
[with **None={'name': 'first action', 'langua...'' ... ERROR
[with **None={'name': 'two pointing choices',...'' ... ERROR
のドキュメントの例に基づいてnose_parameterized
、出力にはテスト メソッドの名前とそのクラスがほぼ次のように組み込まれているはずです。
language_analyzer_test (md.LangaugeAnalyzerTest) ... ok
language_test (md.ReferenceResolverTest) ... ERROR
reference_resolver_test (md.ReferenceResolverTest) ... ERROR
reference_resolver_test (md.ReferenceResolverTest) ... ERROR
しかし、そうではありません。
ドキュメントにはさらに次のように記載されています。
最初のパラメーターが文字列の場合、その文字列はメソッド名の末尾に追加されます。
したがって、各テストの最初のパラメーターとして渡す文字列に基づいて、出力は次のようになります。
language_analyzer_test_Pick_cup (md.LangaugeAnalyzerTest) ... ok
language_test_basic (md.ReferenceResolverTest) ... ERROR
reference_resolver_test_first_action (md.ReferenceResolverTest) ... ERROR
reference_resolver_test_two_pointing_choices (md.ReferenceResolverTest) ... ERROR
しかし悲しいかな。
実際の出力に基づいて、どのテスト メソッドが実行されているか、またはどのテスト クラスからのものであるかを判断することさえ困難です。
各テストケースのテスト名をnoseに出力させるにはどうすればよいですか?