如何在烧瓶中编写经过验证的URL的测试用例

时间:2018-04-10 11:34:37

标签: python flask flask-testing

我正在使用带有mongoengine和登录管理器的烧瓶进行会话维护。我想为经过身份验证的视图编写测试用例。可以对此提出任何帮助/建议。

1 个答案:

答案 0 :(得分:1)

首先,我建议使用pytestflask-pytest库,其中包含一些非常方便的功能,可以让所有这些变得更加轻松。

flask-pytest 开箱即用client灯具,按照文档提及Flask.test_client

您要做的是模仿有效的会话(例如,您的应用程序正在验证用户是否已“登录”)

以下是没有任何支持库的方法:

import app
from flask import url_for

def test_authenticated_route():
    app.testing = True
    client = app.test_client()

    with client.session_transaction() as sess:
        # here you can assign whatever you need to
        # emulate a "logged in" user...
        sess["user"] = {"email": "test_user@example.com"}

    # now, you can access "authenticated" endpoints
    response = client.get(url_for(".protected_route"))
    assert response.status_code == 200

Flask docs中也对此进行了讨论。