Testando seu jQuery em Rails

Para configurar o seu ambiente perene, consulte http://coderwall.com/p/j8a1cw primeiro.

Com o evergreen instalado, podemos usar jasmine-jquerypara 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()