django项目中的Javascript测试,包括CI和覆盖率
Javascript testing within django project, with CI and coverage
我正在处理一个Django项目,该项目的设计相当重javascript。对于服务器端代码,我们试图通过使用单元测试来获得不错的测试覆盖率,并在稍高的级别上使用Django测试客户端进行测试。我们有一个为CI运行的Hudson/Jenkins服务器,或多或少按照本文的思路进行了设置,为我们提供了测试通过率和覆盖率统计数据。
我也想为我们的javascript提供类似的东西。我希望能够在单元测试级别上进行测试,也可以在集成/验收测试级别上测试。后者需要一个完整的DOMJS环境和一个正在运行的django服务器。理想情况下,我想以某种方式使用Django测试客户端,这样我就可以用我习惯的Django的测试方式设置服务器状态。我还想在CI服务器上运行所有的测试,这需要某种无头浏览器环境(服务器是没有桌面环境的Ubuntu)。
我发现了很多东西,但很多感觉它无法在CI服务器上运行。此外,与Django的集成通常不太好,也不能很好地隔离服务器环境。最后,理想情况下,我希望能以良好的速度工作,以保持我的测试/代码周期尽可能快。
有没有框架能满足我的需求,或者有人能拼凑出一个接近的解决方案?在结合Django进行良好的javascript测试方面,是否有任何公认的最佳实践(即,我缺少的Django人员是否有推荐的方法)?
HtmlUNIT看起来可以满足您的一些需求(即支持JavaScript的无头浏览器)。将其与"runserver"风格的管理命令进行比较应该不会太难,该命令也会在退出时转储覆盖率。
http://htmlunit.sourceforge.net/
您可能想尝试Ghost.py,这是Phantom.JS的Python实现。我为django提供了一个扩展,该扩展构建在即将推出的LiveServerTestCase之上。
它依赖于PyQt4,因此您必须将其复制到项目的虚拟环境中。
- 包括用于facebook评论框的JavaScript SDK
- 查找元素高度,包括边距
- 茉莉花宝石-耙茉莉花:ci dons't运行测试
- asp.net,包括iss上的javascript slow
- SuiteScript2.0-包括一个自定义文件
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- javascript加密实现,包括可信否认
- 在ng中给出文件路径包括什么
- 包括angular 1.3.0项目上的angular bootstrap ui
- 如何将单词(包括单词)与连字符匹配
- 根据下拉值包括或加载php
- 根据另一个数组对数组进行排序,包括位置和字符串[ES6]
- PHP 包括 Javascript 生成的文件名
- 包括android中的HTML UI
- Travis CI构建持续失败
- 如何将页面上的所有电话号码更改为可点击链接,不包括特定类别的元素
- Javascript:包括特殊字符的文本选择
- 包括php文件和几个js文件
- spin.js/angular spinner:如何将spin定位到DOM元素中(包括plunker演示)
- django项目中的Javascript测试,包括CI和覆盖率