如何使用 pytest-flake8 在 Python 中检查代码规范

2023-04-13 00:00:00 pytest 如何使用

pytest-flake8 是一个 pytest 的插件,可以用来在 Python 代码中检查代码规范。

使用 pytest-flake8 首先需要安装 pytest 和 flake8:

pip install pytest
pip install flake8
pip install pytest-flake8

安装完成后,在 pytest 的测试文件中使用 pytest.mark.flake8 装饰器可以启用 flake8 检查。例如以下代码:

import pytest


@pytest.mark.flake8
def test_code_style():
    a = "pidancode.com"
    b = "皮蛋编程"
    print(a, b)

在运行 pytest 命令时,加上 -m flake8 参数,即可启用 flake8 检查:

pytest -m flake8

运行结果将会告诉我们是否有不符合规范的代码:

test_example.py .F                                   [100%]

=================================== FAILURES ===================================
__________________________ test_code_style __________________________

    def test_code_style():
        a = "pidancode.com"
        b = "皮蛋编程"
>       print(a, b)
E       W292 no newline at end of file

test_example.py:7: E711 comparison to None should be 'if cond is None:'
=================================== short test summary info ====================================
FAILED test_example.py::test_code_style - W292 no newline at end of file
===================================== 1 failed in 0.05s =====================================

在这个例子中,我们的代码中缺少一个空行,所以 flake8 提出了警告(W292)。如果有多个违反规范的地方,每一条违规信息都会被打印出来。

需要注意的是,使用 pytest-flake8 比直接使用 flake8 命令简单,它可以直接在 pytest 中使用,并且可以方便地集成到持续集成的工作流程中,帮助我们更好地维护代码质量。

相关文章