Вывести имя тестовой функции в nose_parametrized
У меня есть тестовые классы, которые расширяются 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
Но увы.
Исходя из фактического вывода, трудно сказать, какой метод теста запущен или даже какой класс теста он использует.
Как заставить нос напечатать название теста для каждого теста?
1 ответ
Если у тестируемого метода есть строка документации, nose-parameterized
добавит параметры ([with …]
выше) на строку документации и nose
напечатает строку документации вместе с каждым тестом.
Если вы удалите строку документации из тестов, вы должны получить имя метода, как показано в документации.