1

我有一个包含 js 脚本的模板:

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

这在使用 chrome、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 脚本?

卢克

4

1 回答 1

3

Django 测试客户端测试 Django 服务器生成的响应。它不测试 JavaScript,因为它是在客户端而不是服务器上运行的。

您可以使用Selenium来测试浏览器的行为。Django 有一个LiveServerTestCase,它允许您使用 Selenium 客户端。LiveServerTestCase有关更多信息,请参阅文档。

于 2013-07-21T10:15:44.840 回答