在Rails中准确测试JavaScript分析交付系统
Accurately testing a JavaScript analytics delivery system in Rails
我在一个大型Rails应用程序上工作。我们有一个JavaScript功能,它可以作为一个通用的分析数据传递系统。它公布了基于各种页面交互事件(点击、页面浏览等)的一般分析数据,但与框架无关,因为这些数据并不是谷歌分析想要的特定数据。这只是关于交互的一般数据。
其想法是,可以编写谷歌分析(或任何其他第三方分析工具)的适配器模块,以获取通用库生成的数据,增强数据以满足第三方的需求,并将其发送到他们的端点。
我的问题是关于准确测试这个功能。
我们在大部分测试中使用Rspec,在JavaScript单元测试中使用Teaspoon。理想情况下,我想写一个功能测试,导航我们的应用程序,点击各种触发元素,并确认通用分析数据的发布是正确的。
这有可能吗,或者我们的Teaspoon测试就足够了吗?
Rspec集成测试可以为您做到这一点。不幸的是,这是一种测试javascript的非常缓慢的方法,但对于性能可能并不重要的回归测试,rspec特性测试可以完成这项工作。
我的rspec集成测试需要40分钟才能运行,所以我只在工作间隙运行整个套件。当然,您可以更快地运行单个功能文件,但它们仍然比js测试慢得多。
您可以使用poltergeist和phantomjs无头地运行它们,这比使用浏览器更快,但您可能需要切换到浏览器进行调试。
相关文章:
- 数据绑定:'系统Char'不包含名为'xxxxx'
- Javascript模块系统I'I’我正在努力,但搞不明白
- 是否可以在系统/电脑浏览器中访问手机摄像头
- Node JS中的排名系统算法
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 如何在foreach循环中对每个产品单独应用评级系统
- Javascript-修复搜索系统
- 是否有任何设置阻止JavaScript在系统上工作
- 如何组织用户系统的Mongo集合
- 数字文件命名系统
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- 动态代码中存在系统应用程序地址错误
- 从自己的安全系统中重新找回自己
- 难以置信的简单密码系统不工作
- 在chrome.runtime消息系统中使用promise
- 当地址栏出现时,安卓系统上的css固定页脚被隐藏
- 如何使荷兰拍卖系统的价格每秒钟都在下降
- 如何获取node.js系统CLI应用程序的位置
- SoundCloud API-基于系统中的ID创建用户配置文件
- 在Rails中准确测试JavaScript分析交付系统