0

我在一个大型 Rails 应用程序上工作。我们有一个 JavaScript 功能,可作为通用分析数据交付系统。它基于各种页面交互事件(点击、页面浏览等)发布一般分析数据,但与框架无关,因为数据并不特定于谷歌分析想要开箱即用的东西。这只是关于交互的一般数据。

这个想法是,可以编写一个用于谷歌分析(或任何其他第 3 方分析工具)的适配器模块,以获取通用库生成的数据,扩充数据以满足第 3 方的需求,并将其发送到他们的端点.

我的问题是关于准确测试此功能。

我们使用 Rspec 进行大部分测试,使用 Teaspoon 进行 JavaScript 单元测试。理想情况下,我想编写一个功能测试来导航我们的应用程序,点击各种触发元素,并确认通用分析数据被正确公布。

这甚至可能吗,还是我们的 Teaspoon 测试就足够了?

4

1 回答 1

0

Rspec 集成测试可以为您做到这一点。不幸的是,这是一种测试 javascript 的非常慢的方法,但是对于性能可能并不重要的回归测试,rspec 特性测试可以完成这项工作。

我的 rspec 集成测试需要 40 分钟才能运行,所以我只在工作休息时运行整个套件。当然,您可以更快地运行单个功能文件,但它们仍然比 js 测试慢得多。

您可以使用 poltergeist 和 phantomjs 无头运行它们,这比使用浏览器更快,但您可能需要切换到浏览器进行调试。

于 2016-04-04T19:38:47.313 回答