我有一個要求是這樣的:如何單元測試會話超時在Django
只要用戶signsup(並會處於等待狀態,直到他確認他的電子郵件地址),會話變量設置的東西如「FIRST_TIME_FREE_SESSION_EXPIRY_AGE_KEY」(抱歉,如果名稱聽起來令人困惑!)將被設置爲將日期時間對象添加到當前時間8小時。
這應該如何影響用戶,用戶得到8小時的時間才能真正使用我們網站的所有功能,而無需確認他的簽名電子郵件地址。 8小時後,每個視圖/頁面將顯示一個大橫幅,告訴用戶確認。 (所有這些功能都是使用每個視圖的一個「ensure_confirmed_user」裝飾器來實現的)。
我想用django的unittest addon(TestCase類)測試相同的功能。我該怎麼做?
更新:我是否需要手動更新提到的會話變量值(修改8小時到幾秒)以完成它?或者有更好的方法嗎?
更新:這可能聽起來很瘋狂,但我想模擬來自未來的請求。
[freezegun(https://pypi.python.org/pypi/freezegun/)讓你隨意操縱時間的測試。由此產生的測試也很明確。 – 2016-05-02 09:50:31