首页 > 解决方案 > 使用烧瓶登录为烧瓶应用程序创建 pytest 套件

问题描述

目前,我正在与其他几个人一起开发一个烧瓶应用程序,该应用程序要求用户通过 OAuth 进行身份验证,并且随着我们的继续开发,我正在创建一个自动化测试套件。我在创建经过身份验证的模拟用户时遇到了问题,这些用户具有我使用该应用程序所需的属性。几乎每条路线都有与用户数据(他们的 ID 号和他们的头像)相关的 SQL 查询,并且需要登录 (@login_required)。

我已经尝试了一些我在网上找到的修复方法,但它们无法解决我的问题。当我使用此修复运行测试时,创建的魔术模拟对象已通过身份验证,但不允许我更改其属性,因此出现 SQL 错误。

我试过做一个用户加载器的模拟补丁,但它没有产生任何东西。

该链接是我获得的最接近的链接,但我希望任何人都能够了解如何最好地创建一个经过身份验证的用户,该用户具有我可以更改的属性,这些属性可以针对不同的请求上下文进行识别。我不想简单地禁用身份验证,但我希望对模拟用户进行身份验证并允许我向他们提供必要的数据,以便 SQL 查询通过。

如果您需要任何说明或想查看任何代码片段,请告诉我。

标签: unit-testingflaskmockingpytestflask-login

解决方案


推荐阅读