0

ルート変更時に関数を作成しました:

window.intercom = function(action, msg) {
  return window.Intercom(action, msg);
};

この機能をスパイしようとしていますが、その方法がわかりません。この SO 投稿のアドバイスに従いました。

私がこれを使用する場合:

beforeEach(inject(function($compile, $rootScope, $q, _$location_, $routeParams) {
  element = angular.element("<add-box></add-box>");
  $compile(element)($rootScope);
}));

it("should cancel adding a box!", function() {
  spyOn(window, 'intercom')
});

エラーが発生します:

intercom() method does not exist

だから私はこれを試しました:

it("should cancel adding a box!", function() {
  var intercom = jasmine.createSpy();
});

それは言う:

TypeError: 'undefined' is not a function (evaluating 'window.intercom('hide')')

どうすればこれを機能させることができますか? 私はそれが単純だと確信しています。ジャスミンは初めてです。

4

1 に答える 1