簡體   English   中英

如何正確單元測試Django會話?

[英]How do I properly unit test a Django session?

Django會話的行為在“標准”視圖代碼和測試代碼之間變化,使得不清楚如何為會話編寫測試代碼。 谷歌搜索這個問題產生了兩個相關的討論:

  1. 測試客戶端更容易操作會話

  2. test.Client.session.save()會引發匿名用戶的錯誤

我很困惑,因為這兩張票都有不同的處理這個問題的方法,他們都被接受了。 我認為這意味着它們已被修補,現在行為不同了。 我也不知道這些補丁屬於哪個版本。

如果我在Django 1.0中編寫單元測試,我如何設置會話存儲以使會話像在瀏覽器中那樣工作?

我不太明白你說“標准”視圖和“測試”代碼之間的行為改變是什么意思,也許你應該詳細說明。

但關於如何測試會話,我認為有方法。

  1. 您必須了解django會話的工作原理,閱讀您在應用程序中使用的會話包的單元測試。 這是關於理解服務器端如何工作。
  2. 您可能需要在瀏覽器和服務器之間捕獲一些對話(例如使用FIREBUG)

因此,當您與服務器通信時,當您登錄服務器時,您的問題看起來就像是沒有傳遞session_id。 喜歡把它放進去(POST,GET,COOKIES我不太記得)。

這里重要的是理解會話如何在HTTP中工作,一旦你得到它,你肯定對那里發生的事情有一個明確的想法,並相應地進行解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM