【发布时间】:2021-09-07 17:15:30
【问题描述】:
你能解释一下我运行 pylint pylint-pytest plugin cannot enumerate and collect pytest fixtures. Please run `pytest --fixtures --collect-only path/to/current/module.py` and resolve any potential syntax error or package dependency issues (Can-enumerate-pytest-fixtures) 时提示'F6401'是什么原因吗?
我想知道它是如何工作的,或者它为什么会出现,并且有时会有不同的输出。相同的代码,有时两个,有时更多。我很沮丧。
我确实运行了pytest --fixtures --collect-only,没有任何异常提示,并且我的测试正常。
说明:
在我微调现有代码(包括运行 pylint、pytest 和 isort)后,一切正常。我添加了一个新包executor,包含三个模块,一个是base.py的抽象模块,两个分别对应不同的实现模块(local.py,docker.py)。
然后我运行isort,pylint 工作正常
然后我在模块的__init__.py文件中导入基类和两个实现类,并添加一个工厂方法。
当我再次运行pylint 时,输入告诉我某些测试模块与F6401 有问题。
再次强调,在我添加此模块之前,一切都很好。但是现在我只是添加了这个模块的源代码,就会出现这个异常。
让我更加困惑的是,提示我的模块不包含任何固定装置。我又跑了pylint,发现F6401的测试模块多了(比上次多了好几倍)。
我一直在为一个新项目使用 PyLint 来检查逐个模块的迁移,当我迁移到这个模块时,我无法继续。
操作系统环境
- python 3.7
- 操作系统:Deepin(基本 Debian)
- IDE:Pycharm
软件包版本
- pylint 3.0.0a3
- pylint-pytest 1.1.2
- pyparsing 2.4.7
- pytest 6.2.3
- pytest-asyncio 0.14.0
- pytest-cov 2.11.1
- pytest-mock 3.5.1
【问题讨论】: