ユニットテストにJasmine Jqueryを使用しています。私はすでに試したユニットテストにclipboard.js( 'success')またはon( 'error')をトリガー
(function() {
$(document).ready(copyToClipboard);
function copyToClipboard(){
var clipboard = new Clipboard('#d_clip');
clipboard.on('success', function(e) {
$(e.trigger).text("Copied!");
e.clearSelection();
setTimeout(function() {
$(e.trigger).text("Copy");
}, 2500);
});
clipboard.on('error', function(e) {
$(e.trigger).text("Error copying");
setTimeout(function() {
$(e.trigger).text("Copy");
}, 2500);
});
}
})();
:私は、次のコードを持っている
beforeEach(function() {
setFixtures("<button type='button' id='d_clip'>Copy</button>")
clipboard = new Clipboard('#d_clip');
});
it('should change text to copied', function() {
spyOn(clipboard,'on');
$('#d_clip').trigger('click');
expect($('#d_clip').text()).toEqual('Copied!')
});
をしかし、私はこのエラーを取得しています:私は手動でクリックしたときに
Expected 'Copy' to equal 'Copied!'.
それは動作します。 Chromeデベロッパーコンソールで$('#d_clip').trigger('click');
を実行しても機能します。
clipboardがユニットテスト用に何もしていないように見えます。私はそれを行う方法を理解することはできません。
私がテストしたいのは?
- クリックして、テキストが「コピーされました」ことを確認します。エラーが発生した場合は「エラーコピー」となります。
これは、Ruby on Railsの上にあるので、私のようにJSの単体テストを実行します。直接あなたの質問に答えるために
rake jasmine:ci
テストなしでクリックすると動作しますか?どのようにテストが実行されますか? – pfg
はい、それをクリックすると動作します。 Chromeデベロッパーコンソールで '$( '#d_clip')。trigger( 'click');を実行しても機能します。 Ruby on Railsでこれをやっているので、私は 'rake jasmine:ci'をやっています –