2016-03-31 7 views
0

私は大規模なRailsアプリケーションで作業します。 Googleには、一般的な分析データ配信システムとして機能するJavaScript機能があります。さまざまなページのインタラクションイベント(クリック、ページビューなど)に基づいた一般的なアナリティクスデータを発表しますが、フレームワークには無関心です。つまり、Googleアナリティクスが求めているものに特有のデータではありません。これは単なる相互作用に関する一般的なデータです。RailsでJavaScript解析配信システムを正確にテスト

Googleアナリティクス(またはその他の第三者分析ツール)用のアダプタモジュールを作成して、一般ライブラリによって生成されたデータを取得し、第三者のニーズに合わせてデータを増やし、それをエンドポイントに渡します。

私の質問は、この機能を正確にテストすることです。

私たちは、テストの大部分にRspecを使用し、JavaScriptユニットテストにはTeaspoonを使用します。理想的には、アプリをナビゲートし、さまざまなトリガー要素をクリックする機能テストを作成し、一般的な分析データが正しくアナウンスされていることを確認したいと思います。

これは可能なのでしょうか、または私たちのティースプーンテストで十分でなければなりませんか?

+0

この質問には簡単な答えはありません。つまり、スタックオーバーフロー(特定の質問を単一の「正解」で好む)にはうまく適合しません。つまり、私はあなたに正確な答えを与えることはできません問題は閉鎖されると投票される可能性が高い)が、一般的に:カピバラ/統合テストではこれを行うが、ヘッドレスブラウザを使用する。ブラウザ固有のテストが必要な場合は、セレン(または同様の) –

答えて

0

Rspecインテグレーションテストでこれを行うことができます。残念ながら、それはJavaScriptをテストするのに非常に遅い方法ですが、パフォーマンスが重要ではない回帰テストでは、rspecの機能テストがその仕事をします。

私のrspecインテグレーションテストは40分かかるので、ワークブレークがあるときだけスイート全体を実行します。 もちろん、個々のフィーチャーファイルをもっと速く走らせることはできますが、まだjsテストよりも遅いです。

poltergeistとphantomjを使用してヘッドレスで実行できますが、これはブラウザを使用するよりも高速ですが、デバッグのためにブラウザに切り替えることをお勧めします。