带有pytest的烧瓶-使用哪个应用程序?

时间:2019-07-11 08:29:21

标签: python flask pytest

在Flask测试教程中,有一个特定的test,其中,客户端和应用程序的使用方式如下:

def test_login_logout(client):
    """Make sure login and logout works."""

    rv = login(client, flaskr.app.config['USERNAME'], flaskr.app.config['PASSWORD'])
    assert b'You were logged in' in rv.data

我想知道在这里使用client.application而不是flaskr.app会不会更好。还是没有什么不同?

我之所以问是因为我遵循了Flask教程,因为我在应用程序包的__init__.py中建立了一个应用程序工厂(这在测试教程中有所不同,他们在模块级别定义了app这里)。因此,为了类似地访问此应用程序,我将不得不做

app = flaskr.create_app()

在测试方法的最开始,然后稍后通过app.config访问其配置。但是然后我会有2个应用程序浮动-一个可以通过client.application访问的应用程序,以及我刚刚创建的一个应用程序-对吗?

建议始终使用client.application吗?

N。 B.我的测试通过任何一种方式。

编辑:我不是在这里征求意见,我只是想知道使用client.application是否有问题。因为如果没有的话,我们可以清楚地说烧瓶教程正在绕道而行(不必要地导入flaskr,对应用程序进行两次实例化)。同样,这不是基于观点的。另一方面,如果使用client.application时出现问题,那么我们可以明确地说,应该始终按照烧瓶教程中建议的方法进行操作。

如果关于此帖子仍然有任何观点,我将很乐意澄清。就我而言,我只是在寻求帮助。

0 个答案:

没有答案