Я просто играю с базовым рубиновым приложением, которое изменяет атрибут направления html при нажатии кнопки. Его работа отлично работает на стороне JQuery, но в моем тестовом сценарии работает даже тогда, когда .click() - триггеры. Вот мои файлы.запуск теста жасмина даже перед запуском .click()
display.html.erb
<p>
<%= button_tag 'Convert', id: 'test', remote: 'true' %>
</p>
Jquery: conversion.js
$(document).ready(function(){
$('#test').on('click', setHtmlStyle);
});
var setHtmlStyle = function(){
var $style = $('html');
$style.attr('dir', $style.attr('dir') === 'rtl' ? 'ltr' : 'rtl');
};
Spec: conversion_spec.js
describe('#test', function(){
beforeEach(function(){
loadFixtures('conversion.html');
});
describe('Clicking test button', function(){
it('should have an attribute', function(){
$('#test').click();
expect($('html').attr('dir')).toBe('rtl');
});
});
Крепеж: conversion.html
<html>
<input type='button' name='Convert' id='test'>
</html>
Вот сообщение об ошибке, когда я запускаю тесты:
Failure/Error: Expected 'ltr' to be 'rtl'.
Любая помощь или предложения будут действительно оценены. Благодарю.
вход 'id = 'rtl'' должен быть' id =' test'' правильным? – Hacketo
Yup, отредактировал его для моего вопроса. Благодарю. – Teja
Я не очень хорошо знаю Жасмин. Но попытались ли вы выполнить «ожидание асинхронности»? –