Para configurar o seu ambiente perene, consulte http://coderwall.com/p/j8a1cw primeiro.
Com o evergreen instalado, podemos usar jasmine-jquery
para testar nosso código specifiq jquery, é muito simples, basta adicionar um submódulo ao seu projeto ou baixar e versão sua própria cópia se desejar:
Em seu projeto Rails, faça:
git submodule add git://github.com/velesin/jasmine-jquery.git spec/javascripts/helpers/jasmine-jquery
Se você seguiu as etapas em meu protocolo anterior jasmine-jquery
, agora deve ser carregado como um auxiliar, e agora você pode escrever especificações semelhantes a estas:
describe 'ui.js', ->
describe 'lengthToggler', ->
template 'length_toggler.html'
beforeEach ->
@element = $ '#user_password'
@selector = '#password_change'
@element.bind 'keyup', -> lengthToggler( @, '#password_change' )
it 'should toggle visibility on if value has length', ->
event = jQuery.Event 'keyup'
expect( @element.val().length ).toEqual 0
@element.val 'foo'
@element.trigger event
expect( @element.val().length ).toEqual 3
expect( $( @selector ) ).toBeVisible()
@element.val ''
@element.trigger event
expect( $( @selector ) ).not.toBeVisible()