2012-07-03 9 views
12

¿Cuál es la mejor manera de probar las vistas de JavaScript (prueba para ver si una página funciona con JavaScript) en Rails?Prueba de vistas de JavaScript en Rails

Digamos que tengo una página llamada /users/new que contiene un formulario que hace algo. Me gustaría tenerlo para enviar el formulario y la herramienta de prueba de JavaScript me avisará si esa página se rompe o no. ¿Cuál es la mejor manera de hacer esto?

me he encontrado con tres opciones para la prueba:

  1. Konacha (mejor herramienta en lo que va de JS BDD) http://www.solitr.com/blog/2012/04/konacha-tutorial-javascript-testing-with-rails/

  2. arroz jazmín (Jasmine + Rails + Guard) https://github.com/bradphelan/jasminerice/

  3. Capybara Webkit. https://github.com/thoughtbot/capybara-webkit

Los dos primeros son básicamente allí para BDD y aislada pruebas. El último es más para lo que estoy buscando, pero No quiero tener una configuración de prueba separada para JavaScript BDD y prueba de integración.

¿Alguien tiene una mejor solución?

Respuesta

5

Si está utilizando RSpec, puede utilizar Carpincho en una prueba de integración RSpec:

spec/requests/my_spec.rb: 

describe "my test", :js => true do 
    it "should do something" do 
    visit '/some/path' 

    click_on 'Submit' 

    page.should have_content 'Congratulations!' 
    end 
end 

Recuerde establecer Capybara.javascript_driver = :webkit en spec_helper.rb.

+2

Esto es lo que hacemos para una aplicación bastante grande. Funciona, pero es * muy * lento. Realmente solo quieres hacer esto donde lo necesites absolutamente. –

8

Compruebe el Proyecto de la cucharilla en github.

https://github.com/modeset/teaspoon

Es compatible con Mocha, Jasmine, y QUnit .. tiene buen soporte para ejecutar sus especificaciones headlessly con PhantomJS (o selenio WebDriver), y permite el uso de la tubería de activos rieles completos (CoffeeScript, accesorios, etc) .

Además, estuvo muy influenciado por mi experiencia con otros corredores de prueba que usan Rails.

+0

+1 por cucharadita. Me gusta mucho su soporte de cobertura. –

Cuestiones relacionadas