如何仅从行为中显示失败的测试?

How to only show failing tests from behave?

我有一个 Python 3.4 项目,其中包含在 behave 框架(1.2.5 版)中构建的测试。当我 运行 测试时,我得到了数百行输出,其中大部分描述了顺利通过的步骤。当场景失败时,我需要滚动浏览所有这些输出以查找失败(这很容易注意到,因为它是红色的,而通过的步骤是绿色的,但我仍然需要寻找它)。

有没有办法让 behave 只显示失败场景的输出?理想情况下,我会得到所有失败场景的输出,以及有多少 features/scenarios/steps 是 passed/failed/skipped 的总结。如果它打印出所有内容但将所有失败放在底部,我也会感到满意。

我 运行 behave --help 并查看了 this website,但没有找到任何相关内容。然而,我肯定不是第一个对此感到恼火的人,而且我想有一些方法可以做到这一点。感谢您的帮助!

编辑:--quiet 标志简化了输出,但没有删除它。例如,此输出:

Scenario Outline: Blank key identification -- @1.3 blank checks # tests/features/tkg.feature:15 Given we have pages with the wrong checksum # tests/features/steps/tkg_tests.py:30 0.000s When we check if the key is blank # tests/features/steps/tkg_tests.py:50 0.000s Then it is not blank # tests/features/steps/tkg_tests.py:55 0.000s

当带有 --quiet 标志的 运行 变为:

Scenario Outline: Blank key identification -- @1.3 blank checks Given we have pages with the wrong checksum # 0.000s When we check if the key is blank # 0.000s Then it is not blank # 0.000s

但它的行数仍然相同。

您可以将 --format 选项与 progressprogress2 格式化程序一起使用。

这不会显示未失败测试的输出(尽管它仍会显示文件名)。 progress2 选项显示失败测试的回溯。