单元测试传递会话

2024-04-26 05:04:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为一个API编写一些单元测试,试图在单元测试中设置一个会话来模拟已经登录的用户。 由于某些原因,它看起来不像会话get通过客户端.get. 有人知道我做错了什么吗?你知道吗

    client = app.test_client()
    with client.session_transaction() as sess:
        sess['username'] = 'bob@example.com'
        response = client.get('/users/')

        # Looks good 
        # <SecureCookieSession {'username': 'bob@example.com'}>
        print sess

        # Nothing in the cookie...
        print response.data 

        # self.assertEquals(
        #     json.loads(response.data),
        #     json.loads('{"users": "all"}')) 

Tags: comclientapijsondatagetexampleresponse
1条回答
网友
1楼 · 发布于 2024-04-26 05:04:17

您需要将client.get()移出with上下文管理器的

with app.test_client() as client:
    with client.session_transaction() as sess:
        sess['username'] = 'bob@example.com'

    response = client.get('/users/')

会话仅在with块末尾“提交”。你知道吗

相关问题 更多 >