如何测试django前端javascript

How to test django's front-end javascripts

我正在尝试测试由 django 驱动的网站的 backbone.js 前端。

我发现 karma.jsjasmine 用于那些前端测试,但似乎它们只是用于"front-end",这意味着他们无法测试前端 backbone 模型和我的 django 之间的交互 REST API 服务器。

我要找的是一个测试框架,可以测试 BDD 风格的前端 javascript(包括前端和后端之间的交互)。

我知道有一些测试工具DOM,比如selenium或者lettuce,等等。但是我想要的是测试我的前端 "javascript",而不是 DOM,这就是我尝试 karma.js[ 的原因=38=] 和 jasmine 首先。

有没有什么测试框架可以测试前端和后端的网络交互?或者有什么方法可以调整 karma.js 以与 django 的开发服务器很好地协同工作?

Lettuce + Selenium + Django 的 LiveServerTestCase 是您在 TDD 环境中进行 System/Integration 测试的最佳选择。 LiveServerTestCase 支持测试装置以及处理工作测试服务器的设置和拆卸。

karma 和 jasmine 非常适合低级单元测试(即不需要 DB 层或中间件层的东西)。你不应该需要 Django 来测试这些调用,因为每个 API 请求应该有一个 expected/known API 响应应该用作你的 JS 函数的输入。