Вывести имя тестовой функции в 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 напечатает строку документации вместе с каждым тестом.

Если вы удалите строку документации из тестов, вы должны получить имя метода, как показано в документации.

Другие вопросы по тегам