为了账号安全,请及时绑定邮箱和手机立即绑定

遵循 Head First Python 2nd edition 时出现 Pytest-pep8

遵循 Head First Python 2nd edition 时出现 Pytest-pep8

回首忆惘然 2022-05-11 15:21:40
我一直在关注 Head First Python 2nd Edition,在第 4 章中,演示了 pep8 合规性测试。尽管与书中的代码相同,但我的输出却不同。测试代码非常简单:def search4vowels(phrase: str) -> set:    """Return vowels found in supplied phrase."""    vowels = set('aeiou')    return vowels.intersection(set(phrase))def search4letters(phrase: str, letters: str='aeiou') -> set:    """Return a set of 'letters' found in 'phrase'."""    return set(letters).intersection(set(phrase))我尝试按照书中所示进行测试,并得到以下输出:λ py.test.exe --pep8 vsearch.pyc:\users\gx\appdata\local\programs\python\python37-32\lib\site-packages\pep8.py:110: FutureWarning: Possible nested set at position 1  EXTRANEOUS_WHITESPACE_REGEX = re.compile(r'[[({] | []}),;:]')============================= test session starts =============================platform win32 -- Python 3.7.4, pytest-5.1.1, py-1.8.0, pluggy-0.12.0rootdir: C:\Users\gx\Desktop\H.F. Python\mymodulesplugins: pep8-1.0.6collected 1 itemvsearch.py .                                                             [100%]============================== warnings summary ===============================c:\users\gx\appdata\local\programs\python\python37-32\lib\site-packages\_pytest\mark\structures.py:324  c:\users\gx\appdata\local\programs\python\python37-32\lib\site-packages\_pytest\mark\structures.py:324:PytestUnknownMarkWarning: Unknown pytest.mark.pep8 - is this a typo?You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html    PytestUnknownMarkWarning,-- Docs: https://docs.pytest.org/en/latest/warnings.html======================== 1 passed, 1 warnings in 0.04s ========================(我稍微修改了空格以使其更具可读性)书中没有发生这样的事情。在这样做之前,我已经全新安装了 pytest 和 pytest-pep8,如书中所示。这是什么原因造成的?
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

这似乎是一个已知问题:#23。一种解决方法是在以下位置注册pep8标记pytest.ini:


[pytest]

markers =

    pep8: workaround for https://bitbucket.org/pytest-dev/pytest-pep8/issues/23/

或以编程方式注册它conftest.py:


def pytest_configure(config):

    config.addinivalue_line(

        'markers', 'pep8: workaround for https://bitbucket.org/pytest-dev/pytest-pep8/issues/23/'

    )


查看完整回答
反对 回复 2022-05-11
  • 1 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信