2017-07-11 4 views
0

カスタムポリマー要素の単体テストを作成しています。マウスオーバーイベントをシミュレートし、マウスの上にボタン(非表示)が表示されているかどうかを確認する必要があります。Mock.Interactionsを使用してポリマー要素のマウスオーバーライティングユニットテストをシミュレートする

私は鉄試験ヘルパー(模擬相互作用)を使用しています。

Error: MockInteractions.mouseover is not a function.

私の問題はMock.InteractionsまたはIには適切な関数が存在しない場合、私は(.hovermouseOverと同様の組み合わせが動作しない)適切な機能を見つけることができませんと確認していないということです。テスト中に私は、このエラーメッセージが表示されます。ちょうど正しいものを見つけることはできません。

私のコード(のみの試験部分):

test('check settings btb shows on hover', function(done) { 
    var hoverSpy = sinon.spy(); 
    var button = Polymer.dom(myEl5.root).querySelector('#user-settings'); 
    button.addEventListener('mouseover', hoverSpy); 
    MockInteractions.mouseover(button); 
    }); 
}); 

答えて

0

こんにちはマウスオーバーは、マウスポインタが要素の上にあるときに発生ますHTML要素によるイベントです。マウスが行うことのできる相互作用ではありません。したがって、実際にやりたいことはmouseoverイベントを引き起こすマウス移動イベントです。

test('check settings btb shows on hover', function(done) { 
    var hoverSpy = sinon.spy(); 
    var button = Polymer.dom(myEl5.root).querySelector('#user-settings'); 
    button.addEventListener('mouseover', hoverSpy); 
    MockInteractions.move(button, {x: 0, y: 0}, 
     { 
      x: button.offsetLeft + (button.offsetWidth/2), 
      y: button.offsetTop + (button.offsetHeight/2) 
     }); 
    }); 
}); 

このコードは、マウスをボタンの中央に移動するようにシミュレートする必要があります。

+0

アドバイスありがとう、魅力のように動作します! –

関連する問題