Noseにはバグがあります。ジェネレーターによって作成されたテスト名はキャッシュされないため、エラーは、失敗した実際のテストではなく、最後のテストで発生したように見えます。バグレポートの説明の解決策に従って回避しましたが、XMLレポート(--with-xunit)ではなく、stdoutに表示されている名前に対してのみ機能します。
from functools import partial, update_wrapper
def testGenerator():
for i in range(10):
func = partial(test)
# make decorator with_setup() work again
update_wrapper(func, test)
func.description = "nice test name %s" % i
yield func
def test():
pass
鼻の出力は予想通りで、次のようなものです
nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...
ただし、XMLのテスト名は「testGenerator」にすぎません。
...<testcase classname="example" name="testGenerator" time="0.000" />...
パーソナライズされたテスト名がstdoutとXML出力の両方に表示されるようにこれを変更するにはどうすればよいですか?
nosetestsバージョン1.1.2とPython2.6.6を使用しています