一个flake8插件,用于检查基于pytest的测试中的常见样式问题或不一致。
项目描述
flake8-pytest-style
描述
A flake8
plugin checking common style issues or inconsistencies with pytest
-based tests.
当前报告以下错误
代码 | 描述 |
---|---|
PT001 | 使用 @pytest.fixture() 而不是 @pytest.fixture (通过 pytest-fixture-no-parentheses 可配置) |
PT002 | 通过位置参数指定的fixture '{name}' 的配置,请使用kwargs |
PT003 | 在 @pytest.fixture() 中隐含 scope='function' |
PT004 | fixture '{name}' 不返回任何内容,添加前导下划线 |
PT005 | fixture '{name}' 返回值,移除前导下划线 |
PT006 | 在 @pytest.mark.parametrize 中输入了错误的名字类型,期望 {expected_type} (通过 pytest-parametrize-names-type 可配置) |
PT007 | 在 @pytest.mark.parametrize 中输入了错误的值类型,期望 {expected_type} (通过 pytest-parametrize-values-type 和 pytest-parametrize-values-row-type 可配置) |
PT008 | 使用 return_value= 而不是使用 lambda 进行修补 |
PT009 | 使用常规断言而不是 unittest-style '{assertion}' |
PT010 | 在 pytest.raises() 中设置期望的异常 |
PT011 | pytest.raises({exception}) 太宽泛了,设置 match 参数或使用更具体的异常 (通过 pytest-raises-require-match-for 可配置) |
PT012 | pytest.raises() 块应包含单个简单语句 |
PT013 | 发现 pytest 导入错误,请使用简单的 'import pytest' 代替 |
PT014 | 在 @pytest.mark.parametrize 中发现重复的测试用例 {indexes} |
PT015 | 断言总是失败,请用 pytest.fail() 替换 |
PT016 | 未向 pytest.fail() 传递消息 |
PT017 | 在 except 块中发现对异常 {name} 的断言,请使用 pytest.raises() 代替 |
PT018 | 断言应分解成多个部分 |
PT019 | 没有值的 fixture {name} 作为参数注入,请使用 @pytest.mark.usefixtures |
PT020 | @pytest.yield_fixture 已弃用,请使用 @pytest.fixture |
PT021 | 使用 yield 而不是 request.addfinalizer |
PT022 | fixture {name} 中没有拆卸,请使用 return 而不是 yield |
PT023 | 使用 @pytest.mark.foo() 而不是 @pytest.mark.foo (由 pytest-mark-no-parentheses 配置) |
PT024 | pytest.mark.asyncio 对于 fixture 是不必要的 |
PT025 | pytest.mark.usefixtures 对 fixture 没有影响 |
PT026 | 无参数的无用的 pytest.mark.usefixtures |
PT027 | 使用 pytest.raises() 而不是 unittest 风格的 '{assertion}' |
安装
pip install flake8-pytest-style
配置
该插件有以下配置选项
pytest-fixture-no-parentheses
— 请参阅 PT001pytest-parametrize-names-type
— 请参阅 PT006pytest-parametrize-values-type
— 请参阅 PT007pytest-parametrize-values-row-type
— 请参阅 PT007pytest-raises-require-match-for
— 请参阅 PT011pytest-mark-no-parentheses
— 请参阅 PT023
对于开发者
安装依赖项并设置 pre-commit 钩子
make init
运行 linters,自动格式化,测试等。
make format lint test
提升新版本
make bump_major
make bump_minor
make bump_patch
许可证
MIT
变更日志
未发布
...
2.0.0 - 2024-04-01
- 重大变更:将
pytest-fixture-no-parentheses
和pytest-mark-no-parentheses
的默认值反转,以符合pytest
官方风格 - 需要至少 Python 3.8.1
- 支持 Python 3.12
1.7.2 - 2023-02-15
- 修复了
pytest.fail
的 PT009 错误
1.7.1 - 2023-02-15
1.7.0 - 2023-02-09
- 需要至少 Python 3.7.2
- 支持 Python 3.11
- 添加 PT027 (检查 unittest 风格的
assertRaises
)
1.6.0 - 2021-12-23
- 需要至少 Python 3.6.2
- 公开
py.typed
文件
1.5.1 - 2021-11-05
- 改进了 PT011 的措辞
- 支持 Python 3.10
1.5.0 - 2021-06-18
1.4.4 - 2021-06-17
1.4.2 - 2021-05-24
- 更新
flake8-plugin-utils
版本以提高稳定性
1.4.1 - 2021-04-01
- 修复与 argparse 相关的警告
1.4.0 - 2021-03-14
- 添加 PT023(检查
pytest.mark
使用中的括号一致性) - 添加 PT024(检查 fixture 中不必要的
pytest.mark.asyncio
) - 修复在抽象 fixture 上触发 PT004、PT005 的问题
- 修复在包含单个
pass
的with
语句上触发 PT012 的问题
1.3.0 - 2020-08-30
- 添加 PT022(检查没有 teardown 的
yield
fixture)
1.2.3 - 2020-08-06
- 更新
flake8-plugin-utils
依赖项以修复 Windows 上的编码问题
1.2.2 - 2020-07-23
1.2.1 - 2020-06-15
- 修复 factory fixture 的 PT021 问题 (#46)
1.2.0 - 2020-06-12
- 支持
pytest-mock
的作用域mocker
fixture 以支持 PT008 - 在 PT008 中检查位置参数的 lambda 参数
- 添加 PT020(检查
pytest.yield_fixture
) - 添加 PT021(检查
request.addfinalizer
) - 为所有规则添加文档页面
1.1.1 - 2020-04-17
- 修复 PT011 未报告
match=''
为违规问题
1.1.0 - 2020-04-14
- 添加 PT015(检查
assert False
) - 添加 PT016(检查没有消息的
pytest.fail()
) - 添加 PT017(检查
except
块中的异常断言) - 添加 PT018(检查复合断言)
- 添加 PT019(检查没有值作为参数注入的 fixture)
1.0.0 - 2020-03-26
- 添加 PT014(检查
@pytest.mark.parametrize
中的重复测试用例)
0.6.0 - 2020-03-21
- 为 PT006 添加配置选项
pytest-parametrize-names-type
- 为 PT007 添加配置选项
pytest-parametrize-values-type
和pytest-parametrize-values-row-type
0.5.0 - 2020-03-09
0.4.0 - 2020-03-09
- 添加 PT012(检查
with pytest.raises()
中的多个语句)
0.3.1 - 2020-03-09
- 修复
pytest-raises-require-match-for
配置选项的默认值
0.3.0 - 2020-03-09
0.2.0 - 2020-03-01
- 添加 PT009(从 flake8-pytest 迁移)
0.1.3 - 2019-05-24
- 添加
yield
fixture 支持 - 修复 0.1.2 的变更日志条目
0.1.2 - 2019-05-23
- 修复装饰器中不工作的 parametrize 检查器
0.1.1 - 2019-05-23
- 更新 PyPI 描述
0.1.0 - 2019-05-23
- 初始
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
flake8_pytest_style-2.0.0.tar.gz (16.5 kB 查看哈希值)
构建分发
关闭
flake8_pytest_style-2.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 919c328cacd4bc4f873ea61ab4db0d8f2c32e0db09a3c73ab46b1de497556464 |
|
MD5 | de1cb4999ebe09d00312aaf441c0b712 |
|
BLAKE2b-256 | 51315bb7e30878e8a1783930681767cae29a2304d9006548ab4ad905c121ff88 |
关闭
flake8_pytest_style-2.0.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | abcb9f56f277954014b749e5a0937fae215be01a21852e9d05e7600c3de6aae5 |
|
MD5 | 34cdfd47d3d02bdb07b0620b6fe4fae6 |
|
BLAKE2b-256 | 029603d935ca9383b8df39b7db6a70da6e7aa856b33081f87caed3e18adf0cc5 |