在 nose_parametrized 中打印测试函数的名称
Print name of test function in nose_parametrized
我有扩展 unittest.TestCase
的测试 classes,并使用 nose_parameterized
进行参数化。我正在使用 nosetests -v
到 运行 测试。我有 nosetests 版本 1.3.7.
我希望测试 运行ner 打印每个测试的名称。相反,它只是打印传递给测试的参数。
下面是我实际输出的例子:
[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
根据 documentation for nose_parameterized
的示例,我认为输出应该包含我的测试方法的名称及其 class,大致如下。
language_analyzer_test (md.LangaugeAnalyzerTest) ... ok
language_test (md.ReferenceResolverTest) ... ERROR
reference_resolver_test (md.ReferenceResolverTest) ... ERROR
reference_resolver_test (md.ReferenceResolverTest) ... ERROR
但事实并非如此。
documentation 进一步指出:
If the first parameter is a string, that string will be added to the end of the method name.
因此,根据我作为每个测试的第一个参数传入的字符串,输出应如下所示:
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
可惜啊
根据实际输出,很难判断运行 是哪个测试方法,甚至是哪个测试class。
如何让 nose 打印每个测试用例的测试名称?
如果被测方法有文档字符串,nose-parameterized
会将参数(上面的 [with …]
,)添加到文档字符串,nose
会打印文档字符串以及每个测试。
如果您从测试中删除文档字符串,您应该获得文档中显示的方法名称。
我有扩展 unittest.TestCase
的测试 classes,并使用 nose_parameterized
进行参数化。我正在使用 nosetests -v
到 运行 测试。我有 nosetests 版本 1.3.7.
我希望测试 运行ner 打印每个测试的名称。相反,它只是打印传递给测试的参数。
下面是我实际输出的例子:
[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
根据 documentation for nose_parameterized
的示例,我认为输出应该包含我的测试方法的名称及其 class,大致如下。
language_analyzer_test (md.LangaugeAnalyzerTest) ... ok
language_test (md.ReferenceResolverTest) ... ERROR
reference_resolver_test (md.ReferenceResolverTest) ... ERROR
reference_resolver_test (md.ReferenceResolverTest) ... ERROR
但事实并非如此。
documentation 进一步指出:
If the first parameter is a string, that string will be added to the end of the method name.
因此,根据我作为每个测试的第一个参数传入的字符串,输出应如下所示:
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
可惜啊
根据实际输出,很难判断运行 是哪个测试方法,甚至是哪个测试class。
如何让 nose 打印每个测试用例的测试名称?
如果被测方法有文档字符串,nose-parameterized
会将参数(上面的 [with …]
,)添加到文档字符串,nose
会打印文档字符串以及每个测试。
如果您从测试中删除文档字符串,您应该获得文档中显示的方法名称。