我有一个模板,包括一个带有:
的js脚本$(document).ready(function() {
doSomething();
});
当使用chrome,firefox,IE等显示页面时,这非常有效。但是当我尝试使用django.test.client以这种方式单元测试我的视图时:
from django.test.client import Client
c = Client()
response = c.get(url)
未调用ready函数。我可以通过Ajax找到POST和GET,只需找到test.client,它只是在我获取页面本身时不执行ready函数。 有没有办法配置客户端在加载的页面内实际执行js脚本?
路
答案 0 :(得分:3)
Django测试客户端测试Django服务器生成的响应。它不测试JavaScript,因为它在客户端而不是服务器上运行。
您可以使用Selenium来测试浏览器的行为。 Django有LiveServerTestCase
,允许您使用Selenium客户端。有关详细信息,请参阅LiveServerTestCase
上的文档。