단위 테스트를 위해 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');
을 수행하면 작동합니다.
클립 보드가 단위 테스트를 위해 아무 것도하지 않는 것 같습니다. 나는 그것을하는 방법을 이해할 수 없다.
테스트하고 싶은 것이 있습니까?
- 클릭하고 텍스트가 "복사 됨"인지 확인하고 싶습니다. 성공하면 "Error copying"오류가 발생합니다.
이 레일에 루비에, 그래서으로 JS 단위 테스트를 실행합니다 직접 질문에 대답하기
rake jasmine:ci
테스트없이 클릭하면 작동합니까? 테스트가 어떻게 실행됩니까? – pfg
예, 클릭하면 작동합니다. Chrome 개발자 콘솔에서'$ ('# d_clip'). trigger ('click');을 실행해도 작동합니다. Ruby on Rails에서이 작업을 수행하고 있으므로 'rake jasmine : ci'를 수행합니다. –