在django项目中进行Javascript测试,具有CI和覆盖范围

Sha*_*baz 8 javascript testing django continuous-integration hudson

我正在研究一个Django项目,它的设计非常重要.对于服务器端代码,我们尝试通过使用单元测试来获得不错的测试覆盖率,并且在略高的级别上使用Django测试客户端进行测试.我们有CI运行的哈得逊/詹金斯服务器,用的东西建立或多或少线沿线的这篇文章,给我们检验合格和覆盖的统计信息.

我想为我们的javascript也有类似的东西.我希望能够在单元测试级别上进行测试,还能在集成/验收测试级别上进行测试.后者需要一个完整的DOM JS环境和一个正在运行的django服务器.理想情况下,我想以某种方式使用Django测试客户端,因此我可以按照我习惯的Django测试方式设置serverstate.我还想从CI服务器运行所有测试,这需要某种无头浏览器环境(服务器是没有桌面环境的Ubuntu).

我发现了很多东西,但很多人觉得它无法在CI服务器上运行.与Django的集成通常也不是很好,并且不能为服务器环境做好测试隔离.最后,我理想地喜欢能以相当快的速度工作的东西,以尽可能快地保持我的测试/代码周期.

是否有框架能够满足我的需求,或者是否有人设法将一个接近的解决方案拼凑起来?并且是否有任何已建立的最佳实践与Django一起进行良好的javascript测试(即有什么推荐的方法来自django人我错过了)?

Tom*_*tie 1

HtmlUNIT 看起来可以完成您需要的一些操作(即支持 JavaScript 的无头浏览器)。根据“runserver”风格的管理命令来配置它应该不会太难,该命令也会在退出时转储覆盖范围。

http://htmlunit.sourceforge.net/