我在我们的测试套件中添加了一些性能冒烟测试,并且在运行带覆盖的py.test时,它们都失败了。这并不是非常令人惊讶,也不是表现出来的问题(覆盖范围内的时间与任何真实情况无关......)
如何标记(即pytest.mark.skipif(..)
)这些测试,以便在报道运行期间自动跳过这些测试?
我在开发过程中使用PyCharm是否相关。
答案 0 :(得分:1)
使用pytest config
对象应该是非常可行的。请参阅Skip and xfail上的最后一个示例:
@pytest.mark.skipif(not pytest.config.getvalue("db"),
reason="--db was not specified")
def test_function(...):
pass
我想你想要的只是
@pytest.mark.skipif(pytest.config.getvalue("--cov"),
reason="--cov not compatible with smoke tests")
( ETA: cov
的目标实际上是cov_source
,这就是为什么它无法识别cov
。看来--cov
似乎比较安全的赌注,因为它匹配您实际输入的选项,并且不需要您知道代码内部。)