Pytest Vim Syntastic - 避免重新定义警告

时间:2018-05-08 16:54:15

标签: python-3.x flask syntastic flake8

我在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错误。

之前很可能遇到过同样的事情。非常感谢这里的建议/指示。

谢谢!

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,并希望善待那些可能遇到同样问题的人......

Syntastic可以为Python使用各种链接。在我的系统上配置的默认值恰好是flake8。我可以通过在Vim中激活Python缓冲区时运行:SyntasticInfo来确定这一点。

上述错误的代码为F811Flake 8 error code docs中也记录了该代码。经过进一步的研究,这可能是bug in Flake8。但是,有一个更加惯用的pytest解决方案,请参阅以下SO post。可以在this post中找到conftest.py的具体示例。简而言之,common_stuff.py可以重命名为conftest.py,删除导入,pytest将相应地引导必要的测试装置。