vic*_*pos 16 javascript jquery continuous-integration integration-testing ruby-on-rails
我对此进行了一些搜索,并试图实现一个自制的解决方案,但到目前为止还没有发现对它有信心.
我需要的是在Ruby on Rails中编写集成测试,它与JavaScript交互并获得断言某些行为的编程方式.我正在使用Test :: Unit作为控制器/模型部分,但我正在努力测试我的应用程序使用的一些jQuery/JavaScript行为.主要是它包含UI中的ajax调用和交互,它们更新了一些信息集.
我还没有找到一个让我自信的解决方案,它与自动测试和整个红绿色过程很好地集成,所以现在我的客户端代码的大多数部分都是未经测试的,这让我感到紧张(因为它应该是:P ).
那么,有没有人对这个问题的最佳实践提出建议?单元测试JS有点棘手,正如Crockford所指出的那样,因为它严重依赖于UI的当前状态等,而且即使他没有找到实现体面测试的好方法,AFAIK也是如此.
简而言之:我需要针对某些UI行为实施测试,这些行为依赖于Ajax,与自动测试或其他CI工具集成,并且没有找到一种优秀且优雅的方式来实现它.
感谢大家的关注,最诚挚的问候
2011 年 4 月,thoughtbot 人员更新了他们对 javascript 测试的追求。\nAkephalos 因以下原因而失宠:
\n\n\n\n\n错误:如前所述,htmlunit 中存在错误,尤其是 jQuery\xe2\x80\x99s 中的错误。尽管所有浏览器实现都存在错误,但如果测试遇到与实际浏览器相同的错误,则\xe2\x80\x99 会更有用。
\n\n兼容性:htmlunit 没有\xe2\x80\x99 完全实现现代浏览器所具有的功能集。例如,它不能完全处理 DOM 范围或 Ajax 文件上传。
\n\n渲染:htmlunit 并不实际渲染页面,因此依赖于 CSS 可见性或定位的测试将无法工作。
\n\n性能:当大多数测试使用 Javascript 时,带有 htmlunit 的测试套件开始抓取。使用 Akephalos 启动测试需要一段时间,而大型测试套件很容易需要 10 或 15 分钟。
\n
因此他们推出了自己的开源解决方案 - capybara-webkit。它仍然相当新,但看起来是现在的发展方向。
\n 归档时间: |
|
查看次数: |
3502 次 |
最近记录: |