nosetest - 获取失败测试列表(无额外输出)

Fel*_*lix 6 python unit-testing nosetests

是否有可能有鼻子只输出名称未能得到测试失败的简单和紧凑列表中的考试吗?

我已经想出如何丢弃捕获的标准输出:

nosetests -s
Run Code Online (Sandbox Code Playgroud)

但仍会打印失败的断言(例如,assertEqual打印预期值和实际值).理想情况下,我只想知道失败的文件和行.

Sky*_*ard 1

对您的问题的一个非常快速和原始的答案:

如果您使用--verbosity=2 参数,它将列出您的所有测试

如果将 stderr 重定向到 stdout,您可以获得一个文本文件,如下所示(下面的示例将在测试文件夹内运行):

nosetests -s --verbosity=2 test_tasks.py > mytestresults.txt 2>&1

这将在顶部创建所有测试的完整列表以及它们是否通过或失败mytestresults.txt(在从顶部获得测试列表后,您可以修剪失败测试的所有断言输出、跟踪等mytestresults.txt)。

示例输出如下:

test_admin_users_can_complete_tasks_that_are_not_created_by_them (tests.test_tasks.TasksTests) ... ok

test_admin_users_can_delete_tasks_that_are_not_created_by_them (tests.test_tasks.TasksTests) ... ok

test_admin_users_can_see_task_modify_links_for_all_tasks (tests.test_tasks.TasksTests) ... FAIL

test_logged_in_users_can_access_tasks_page (tests.test_tasks.TasksTests) ... FAIL

test_not_logged_in_users_cannot_access_tasks_page (tests.test_tasks.TasksTests) ... ok

test_string_representation_of_the_task_object (tests.test_tasks.TasksTests) ... ERROR

test_task_template_displays_logged_in_user_name (tests.test_tasks.TasksTests) ... FAIL

test_users_can_add_tasks (tests.test_tasks.TasksTests) ... FAIL

test_users_can_complete_tasks (tests.test_tasks.TasksTests) ... FAIL

test_users_can_delete_tasks (tests.test_tasks.TasksTests) ... FAIL

test_users_can_see_task_modify_links_for_tasks_created_by_them (tests.test_tasks.TasksTests) ... FAIL

test_users_cannot_add_tasks_when_error (tests.test_tasks.TasksTests) ... FAIL

test_users_cannot_complete_tasks_that_are_not_created_by_them (tests.test_tasks.TasksTests) ... FAIL

test_users_cannot_delete_tasks_that_are_not_created_by_them (tests.test_tasks.TasksTests) ... FAIL

test_users_cannot_see_task_modify_links_for_tasks_not_created_by_them (tests.test_tasks.TasksTests) ... ok

... stack trace, etc. will be down here (not shown for brevity) ...
Run Code Online (Sandbox Code Playgroud)

编辑:哎呀,我写了这个,保存了,然后注意到你也想要行号。您必须从跟踪细节中解析它,或者更精细的方法是使用Nose-progressive 插件 以您喜欢的方式格式化输出。