如何显示使用 py.test 时跳过某些测试的原因?
Posted
技术标签:
【中文标题】如何显示使用 py.test 时跳过某些测试的原因?【英文标题】:How to I display why some tests where skipped while using py.test? 【发布时间】:2012-11-09 20:42:33 【问题描述】:我正在使用来自unittest
的skipIf()
在某些条件下跳过测试。
@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 的回答,添加了以下字符:p
和 P
(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 时跳过某些测试的原因?的主要内容,如果未能解决你的问题,请参考以下文章
IntelliJ IDEA 14:如何在将项目部署到 Tomcat 时跳过测试