2

ジャスミンのスパイオン機能を理解するのに苦労しています。簡単な関数を作成し、メソッドが呼び出されたかどうかをテストします。

function myView() {
  myLinks();
}

ここに私のテストがあります:

describe('#myView', function() {
    it('updates link', function() {
      var spyEvent = spyOn(window, 'myLinks');
      expect(spyEvent).toHaveBeenCalled();
    });
  });

これは、次の失敗を返します。

Expected spy myLinks to have been called

ここで何が間違っていますか?

4

1 に答える 1

5

myView()が呼び出されるように、関数を呼び出す必要がありますmyLinks()

function myLinks(){
    //some tasks
}    

function myView() {
  myLinks();
}

上記の 2 つの関数はウィンドウオブジェクトで宣言され、ウィンドウを指すスパイ オブジェクトを作成します。

describe('#myView', function() {
    myView();//Call the method so the myLinks was called too
    it('updates link', function() {
      var spyEvent = spyOn(window, 'myLinks');
      expect(spyEvent).toHaveBeenCalled();
    });
  });
于 2013-10-28T00:08:36.367 に答える