如何显示使用 py.test 时跳过某些测试的原因?

Posted

技术标签:

【中文标题】如何显示使用 py.test 时跳过某些测试的原因?【英文标题】:How to I display why some tests where skipped while using py.test? 【发布时间】:2012-11-09 20:42:33 【问题描述】:

我正在使用来自unittestskipIf() 在某些条件下跳过测试。

@unittest.skipIf(condition), "this is why I skipped them!")

如何告诉py.test 显示跳过条件?

我知道,对于 unittest,我需要启用详细模式 (-v),但添加到 py.test 的相同参数会增加详细程度,但仍不显示跳过原因。

【问题讨论】:

【参考方案1】:

当你运行 py.test 时,你可以通过 -rsx 来报告跳过的测试。

来自py.test --help

-r chars            show extra test summary info as specified by chars
                    (f)ailed, (E)error, (s)skipped, (x)failed, (X)passed.

另请参阅有关跳过的这部分文档:http://doc.pytest.org/en/latest/skipping.html

【讨论】:

【参考方案2】:

简答:

pytest -rs

这将显示跳过测试的额外信息。

详细回答:

为了补充@ToddWilson 的回答,添加了以下字符:pP (2.9.0)、a (4.1.0) 和 A (4.5.0)。默认情况下不显示有关已跳过和 xfailed 测试的详细信息,以避免使输出混乱。您可以在以下字符中使用-r 标志:

(f)生病了 (E)错误 (s)被跳过 (x)失败 (X)通过 (p)评估 (P) 与输出评估 (a)ll 除了通过 (p/P) (A)ll.

警告默认开启,默认值为fE

【讨论】:

以上是关于如何显示使用 py.test 时跳过某些测试的原因?的主要内容,如果未能解决你的问题,请参考以下文章

如果定义了构造函数,py.test 会跳过测试类

IntelliJ IDEA 14:如何在将项目部署到 Tomcat 时跳过测试

跳过测试和预期失败.py

unittest测试框架_4_装饰器

是否可以将 .gzip 文件导入 sqlite / 我可以在导入时跳过某些列吗?

在选项卡和焦点轮廓未显示时跳过第一个导航锚