Session 如何在测试代码中基于web.py初始化会话?

Session 如何在测试代码中基于web.py初始化会话?,session,testing,web.py,Session,Testing,Web.py,在深入学习LearnPythonTheHardway的练习52时,我需要为web.py服务器的自动测试编写代码。 在app.py中,我只添加了以下函数: app = web.application(urls, globals()) if web.config.get('_session') is None: store = web.session.DiskStore('sessions') init = {'room': None, 'count': 100} sessi

在深入学习LearnPythonTheHardway的练习52时,我需要为web.py服务器的自动测试编写代码。 在app.py中,我只添加了以下函数:

app = web.application(urls, globals())
if web.config.get('_session') is None:
    store = web.session.DiskStore('sessions')
    init = {'room': None, 'count': 100}
    session = web.session.Session(app, store,  initializer=init)
    web.config._session = session
else:
    session = web.config._session

class count:
    def GET(self):
        print 'session', session
        session.count += 1
        return session.count
在app_test.py中,如何初始化会话以测试应用程序的状态? 下面的代码工作不正常。session.count不是我想要的51,而是101

session.count = 50
resp = app.request("/count")
assert_equal(resp.data, "51")
我从智湖网(quora的中文版)得到一个决议

只需从web.input()获取值,即可在app.py中设置初始状态。在app_test.py代码中,使用request(“/count?XX=XX”)传输初始状态以测试各种情况

class count:
  def GET(self):
    initcount = web.input(i='')
    if init != '':
        session.count = int(initcount)

    session.count += 1
    return session.count
在test.py中:

resp = app.request("/initcount?i=50")
assert_equal(resp.data, "51")