Flask测试:修改下一个请求的会话

时间:2018-04-20 11:56:07

标签: python testing flask session-cookies

我正在尝试测试我的烧瓶应用程序的购物车部分。失败的测试如下:

# Set cart
with client.session_transaction() as sess:
    sess["cart"] = [1, 2]

# Remove item from cart
client.get("/cart/remove/2")

# Test cart
with client.session_transaction() as sess:
    resp = client.get("/")
    assert [1] == sess.get("cart")

上一次请求的结果是会话仍然包含[1, 2]。我知道我正在测试的实际代码是有效的,因为我之前已经手动测试过,所以它必须与我如何使用会话有关。提前谢谢!

1 个答案:

答案 0 :(得分:0)

问题是我使用了错误的会话。感谢@abigperson!固定代码:

def test_add(client):
    # Set cart
    with client.session_transaction() as sess:
        sess["cart"] = [1, 2]

    # Remove item from cart
    client.get("/cart/remove/2")

    # Test cart
    assert [1] == session.get("cart")