【发布时间】:2018-05-08 16:54:14
【问题描述】:
我已经在 Vim 中为 Python 开发设置了 Syntastic。到目前为止它非常棒,但是在使用导入的 pytest.fixture 方法编写测试时,我得到了一些虚假错误。对于上下文,我在 Python 中使用 Flask。但是,请考虑以下 test.py 示例:
from common_stuff import app, client
def test_some_flask_think(client):
# some test stuff
在common_stuff.py:
@pytest.fixture
def client(app)
return app.test_client()
如果它们在同一个文件中 - Syntastic 不会抱怨。但是,在一个单独的文件中 - 没有运气。每个实例中都列出了一个F811 错误。
很可能有人以前遇到过同样的事情。非常感谢这里的建议/指针。
谢谢!
【问题讨论】:
-
Syntastic 不关心文件的内容。 Syntastic 只是运行 linter 的简写:pep8、pyflakes 或您配置的任何其他内容。什么 linter 抱怨你的代码,当你在终端中运行它时,你如何配置它不这样做?
-
如果 Syntastic 在这里纯粹运行 linter(使用
flake8),那么我希望在该输出中看到相同的错误。但是,情况并非如此。令我困惑的是import清楚地说明了正在进口的东西。但假设它不足以用作夹具/测试方法的参数。至少我推测可能会发生这种情况。 -
如果您将花费在推测上的一小部分精力转移到阅读手册上,您可以节省大量时间。然后,您将能够准确地分辨出什么合成器运行,并且您将能够更改它以满足您的需求。
-
您对推测花费了多少时间的假设是不正确的。也许最多几分钟。在这里问的重点是,如果有人遇到完全相同的场景,可能会有一个简单的答案,可以教育其他人。是的,RTFM 有价值。然而,这并不是重点。如果有的话,那将是最后的努力。最后但同样重要的是,多一点礼貌会有很大帮助。
标签: python-3.x flask syntastic flake8