接口测试 大家在单元测试 Flask 接口时候如何解决登录问题

尼古拉斯赵四 · 2019年06月13日 · 最后由 尼古拉斯赵四 回复于 2019年06月14日 · 2385 次阅读

背景

Flask 的项目 里面的接口都用装饰器封装了对 登录状态的校验,如果未登录 则会 转跳到 OPENID 的登录授权页面

测试需求

现在要编写对这些接口 进行单元测试

问题

大家通常对于这种场景是怎么解决的?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 5 条回复 时间 点赞

分开测试:
1.登录测试登录
2.其他依赖登录的用登录后的 session 或者 注释掉登录校验代码测试其他业务接口

接口测试, 大家在单元测试 Flask 接口时候如何解决登录问题
大概你自己觉得这不适合做单元测试

asd126126 回复

这样就有个问题,每次回归都要 手动去获取 session 然后填写,或者 注释代码里登录的 逻辑,有没有 不需要修改脚本的情况下 ,让脚本能够自动回归?

session 是登录以后 返回的,这个是一个有有效期的东西,请求其他接口带 session 即可(可以搜搜 session 是什么)
注释校验登录,是服务器代码即开发的同学帮你去做,测试这边不需要改脚本

asd126126 回复

一开始 我也是这样获取 session 的,登录后去复制 cookie 里面的 session 出来, 但是我们的登录服务的时效默认 24 小时,回归第二天就报错了,因为 session 校验没通过,我觉得去注释登录校验并不是一个很好的行为,对代码侵入式太强了。现在我通过 mock 登录的装饰器了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册