gpt4 book ai didi

python - py.test 报告跳过的测试

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:52 24 4
gpt4 key购买 nike

我正在使用 py.test -rfs 获取有关失败和跳过的测试的额外报告。

有两种方法可以跳过测试:

  1. 通过从测试用例内部调用 pytest.skip(msg)
  2. 通过装饰测试用例:@pytest.mark.skipif(condition, msg)

在最终报告中,如果我使用 pytest.skip(),我会得到以下形式的行:

path/testmodule:linenumber: message`

测试用例的名称(不存在)会很好,但这样就足够了。

但是当我使用 pytest.mark.skipif() 时,我得到的是:

SKIP [1] /usr/lib/python2.7/dist-packages/_pytest/skipping.py:132: message

甚至没有测试模块名称。从 py.test ifself 内部始终指向同一行的路径并不是很有帮助。

我当然可以将测试用例的名称放入消息中,但如果有更优雅的方式让报告更好,那就太好了。有人知道吗?

最佳答案

你应该使用 -v 而不是 -rfs:

$ py.test -v t.py 
============================= test session starts ==============================
platform linux2 -- Python 2.7.8 -- py-1.4.23 -- pytest-2.6.0 -- /usr/bin/python
collected 2 items

t.py@3::test_1 SKIPPED
t.py@7::test_2 SKIPPED

========================== 2 skipped in 0.01 seconds ==========================

以上输出来自以下文件:

import pytest

def test_1():
pytest.skip('msg')


@pytest.mark.skipif(True, reason='msg')
def test_2():
pass

关于python - py.test 报告跳过的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28327222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com