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

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

背景

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

测试需求

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

问题

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

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

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

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

对 asd126126 回复

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

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

对 asd126126 回复

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

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