2013-07-21 17 views
1

我有一個模板,包括有一個js腳本:Django的django.test.client jQuery的準備

$(document).ready(function() { 
    doSomething(); 
}); 

這與瀏覽器,Firefox,IE,無論顯示頁面時工作得很好。但是,當我試圖單元,通過使用django.test.client這樣考驗我的觀點:

from django.test.client import Client 

c = Client() 
response = c.get(url) 

就緒功能不被調用。我可以通過Ajax進行POST和GET,只需使用test.client即可找到,它只是在GET頁面本身時不執行ready函數。 有沒有一種方法來配置客戶端在加載的頁面內實際執行js腳本?

盧克

回答

3

Django的測試客戶端通過測試Django的服務器生成的響應。它不測試JavaScript,因爲它在客戶端而不是服務器上運行。可以使用Selenium來測試瀏覽器的行爲。 Django有一個LiveServerTestCase,它允許你使用Selenium客戶端。有關更多信息,請參閱LiveServerTestCase上的文檔。

+0

+1 for selenium –

+0

好的,應該有RTFM。 Django文檔(https://docs.djangoproject.com/en/1.4/topics/testing/): >請注意,測試客戶端不是爲了替代Selenium或其他「瀏覽器內」框架。 Django的測試客戶有不同的重點。 –