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

时间:2012-09-07 18:31:32

标签: python unit-testing nosetests

是否可以仅使用鼻子输出测试的名称而无法获得简单而紧凑的失败测试列表?

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

nosetests -s

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

1 个答案:

答案 0 :(得分:0)

一个非常快速的&你问题的原始答案:

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

如果你将stderr重定向到stdout,你可以得到一个文本文件......就像这样:

以下示例将在 tests 文件夹中运行:

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)...确定

test_admin_users_can_delete_tasks_that_are_not_created_by_them(tests.test_tasks.TasksTests)...确定

test_admin_users_can_see_task_modify_links_for_all_tasks(tests.test_tasks.TasksTests)......失败

test_logged_in_users_can_access_tasks_page(tests.test_tasks.TasksTests)...失败

test_not_logged_in_users_cannot_access_tasks_page(tests.test_tasks.TasksTests)...确定

test_string_representation_of_the_task_object(tests.test_tasks.TasksTests)...错误

test_task_template_displays_logged_in_user_name(tests.test_tasks.TasksTests)......失败

test_users_can_add_tasks(tests.test_tasks.TasksTests)......失败

test_users_can_complete_tasks(tests.test_tasks.TasksTests)......失败

test_users_can_delete_tasks(tests.test_tasks.TasksTests)......失败

test_users_can_see_task_modify_links_for_tasks_created_by_them(tests.test_tasks.TasksTests)......失败

test_users_cannot_add_tasks_when_error(tests.test_tasks.TasksTests)......失败

test_users_cannot_complete_tasks_that_are_not_created_by_them(tests.test_tasks.TasksTests)......失败

test_users_cannot_delete_tasks_that_are_not_created_by_them(tests.test_tasks.TasksTests)......失败

test_users_cannot_see_task_modify_links_for_tasks_not_created_by_them(tests.test_tasks.TasksTests)......好的

...堆栈跟踪等将在这里(为简洁起见未示出)......

编辑:oops我写了这个,保存,然后注意到你也想要行号 - 你必须解析这个跟踪细节...或者......

更多 精简 方法是使用Nose-progressive plugin 以您喜欢的方式格式化输出。