2012-03-28 6 views
1

私はジャスミンを初めて使い、厄介な問題を経験しています。ユーザーが何か「好き」した後にGoogleアナリティクスのトラッキングイベントが発生したことを確認しようとしています。 (FacebookのSDKを使用して)私のコードでFacebookのようにジャスミンを使ってGoogleアナリティクスコールをテストする方法

、ユーザは、私はこのようなGoogle Analyticsのへの呼び出しをトリガー何か「好き」:

 FB.Event.subscribe('edge.create', function(targetUrl) { 
      _gaq.push(['_trackSocial', 'facebook', 'like']); 
     }); 

すべてのダンディだが、私はどのように知りませんジャスミンでこれをテストしてください。

私のジャスミン仕様から、Facebookの「好き」を実行し、_gaq.push関数をスパイすると、GA追跡イベントが確実に開始されます。私は...おそらく

答えて

1

var fbSpy = spyOn(FB.Event, 'subscribe').andCallThrough(); 
var gaSpy = spyOn(_gaq, 'push').andCallFake(function (args) { 
    expect(args[0]).toEqual('_trackSocial'); 
    expect(args[1]).toEqual('facebook'); 
    expect(args[2]).toEqual('like'); 
}); 

// Trigger here the event. 

expect(fbSpy).toHaveBeenCalled(); 
expect(gaSpy).toHaveBeenCalled(); 
+0

右失われたんだけど、問題は仕様で「いいね」イベントをトリガです。 Facebookは自分のiframeをページに追加します。これは「Like」ボタンとして視覚的に表示されます。 [いいね]ボタンをクリックすると、Googleアナリティクスのトラッキングコードが無効になります。私はジャスミン仕様の中でこのシナリオをエミュレートする方法を知らない。 – hackingbeauty

関連する問題