我正在使用gaetestbed服务,当我运行users.get_current_user()时,我会得到None即。

>>> import sys
>>> sys.path.append("/usr/local/google_appengine") # for Mac OS X
>>> from google.appengine.api import users
>>> from google.appengine.ext import testbed
>>> testbed = testbed.Testbed()
>>> testbed.activate()
>>> testbed.init_user_stub()
>>> users.get_current_user() == None
True

这是预期的结果。但是,我想在运行我的一些单元测试时登录一个假用户。
如果可能的话(我希望是这样),当从命令行运行testbed时,如何登录用户,以便get_current_user()返回实际用户?
谢谢你的阅读。

最佳答案

要模拟管理员用户的登录,可以调用测试函数中的任意位置:

self.testbed.setup_env(
    USER_EMAIL = '[email protected]',
    USER_ID = '123',
    USER_IS_ADMIN = '1',
    overwrite = True)

请注意,您需要使用overwrite=True参数!

关于python - 使用测试平台时,Google App Engine会设置用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6229773/

10-08 20:30