2014-02-24 115 views
0

我依靠我的django測試的一些會話數據。 我想知道如果我仍然可以這樣做,或者如果我需要重新思考我的邏輯。(How)我可以在django測試中設置會話數據嗎?

無論如何,我正在嘗試設置這樣的會話數據:

self.client.session['last_page_id'] = unicode(self.t1_p5.id) 

response = self.client.post(final_page_path, final_page_answers, 
            follow=True) 

所以不僅是self.client.session分配屬性後的「空」,也是我的會議是在當時實際上是空的它正在被使用 - 是的,分配的值確實存在 - 沒有AttributeError被引發。

[編輯] 的Django 1.6版

回答

1

我不知道你使用的Django的版本,但在一些老的文檔上寫着:

修改會話,然後保存它必須首先存儲在變量中(因爲每次訪問此屬性時都會創建一個新的SessionStore):

示例:

def test_something(self): 
    session = self.client.session 
    session['somekey'] = 'test' 
    session.save() 

docs

+0

其實'session'屬性是在我的情況的字典,而不是在說'SessionStore'的所有實例 - 因此它甚至沒有一個'.save'方法。這不起作用:|更新了問題 - thx的答案 –

相關問題