栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

您如何在App Engine中模拟用户服务?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

您如何在App Engine中模拟用户服务?

好吧,我认为没有官方的方法可以做到这一点,但是我一直在阅读源代码,并且发现了一种“
hack”的方法,到目前为止效果很好。(通常我会担心使用未记录的行为,但这是一个测试套件,因此仅在开发服务器上有效时才有意义。)

开发服务器会根据以下三个环境变量确定当前登录的用户:

  • USER_EMAIL:用户的电子邮件地址 用户的昵称。
  • USER_ID:用户的唯一Google ID(字符串)。
  • USER_IS_ADMIN:如果用户不是管理员,则为“ 0”;如果用户为管理员,则为“ 1”。

您可以

os.environ
像设置任何其他环境变量一样使用它们来设置它们,它们会立即生效( 显然,这在生产服务器上将不起作用
)。但是您可以将它们与测试床的user_stub一起使用,并且当您停用测试床时,它们将被重置(您应该在上执行此操作
tearDown
,以便为每个测试用例获得全新的环境)。

由于设置环境变量有点笨拙,因此我编写了一些包装器函数来打包它们:

import osdef setCurrentUser(email, user_id, is_admin=False):    os.environ['USER_EMAIL'] = email or ''    os.environ['USER_ID'] = user_id or ''    os.environ['USER_IS_ADMIN'] = '1' if is_admin else '0'def logoutCurrentUser():    setCurrentUser(None, None)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号