Es normal cuando se hacen cambios en el código romper alguna funcionalidad del sitio, o en el peor de los casos que no funcione totalmente.
Para eso existe una gema llamada rspec que nos va a ayudar a revisar de forma automática que todas las páginas se encuentre funcionando.
Para evitar este tipo de errores existe Rspec, una herramienta de testing automatizado
Agrega la gema de rspec al gemfile
gem "rspec-rails", :group => [:development, :test]
Luego desde el terminal, dentro de la carpeta de tu proyecto corre la línea
rails generate rspec:install
Sabremos que todo está OK cuando al correr en el terminal la siguiente línea de código:
rake spec
obtengamos algo así como:
/Users/gonzalosanchez/.rvm/rubies/ruby-2.0.0-p353/bin/ruby -S rspec
No examples found.
Ahora vamos a crear los archivos para hacer testing, estos archivos contienen todas las pruebas que vamos automatizar, como por ejemplo que la página de inicio funcione bien.
Primero creemos los archivos que necesita rspec automáticamente la siguiente linea.
rails generate rspec:controller pages
Importante, donde dice pages tu deberías ocupar el nombre de uno de tus controller, para empezar ojalá el que sirva la página de inicio.
Ahora, dentro de la carpeta spec se va haber generado una carpeta controllers, y dentro de ésta se encuentra el archivo pages_controller_spec (u otro nombre dependiendo de si es otro el controller). En ese archivo deberíamos poner lo siguiente.
require 'spec_helper' describe PagesController do describe "GET home" do it "has a 200 status code" do get :home expect(response.status).to eq(200) end end end
¿Cómo funciona?
En rspec uno define una prueba, en este caso ir al home, la prueba que se hará consiste en obtener un status 200, que en términos de códigos de errores de la web eso significa éxito.
Luego dentro va la prueba, que dice:
al ir a home (el cual es el método que se llama dentro del controller pages cuando se va a la página de inicio) espera un resultado de 200. O sea que la página funciona.
¿Como corro las pruebas?
Finalmente escribiendo rake spec en la consola te dirá si la página funciona o si tiene un error. Obtendrás un punto por cada éxito y una f por cada prueba que falla.
Creando una segundo caso para hacer testing
Si tenemos una segunda página, podemos hacer una segunda prueba y correr ambas simultáneamente.
Por ejemplo en el caso de la página de En1mes hay una sub página llamada casos de éxito, el controller pages sirve tanto la página de home y la casos.
Por lo que el código del pages_controller_spec debería quedar así:
require 'spec_helper' describe PagesController do describe "GET home" do it "has a 200 status code" do get :home expect(response.status).to eq(200) end end describe "GET casos" do it "has a 200 status code" do get :casos expect(response.status).to eq(200) end end end
Como mínimo un sitio web debería tener automatizada esta prueba para cada una de sus páginas pues de esta forma te aseguras de que si rompes el controller o la vista te darás cuenta antes de que una de tus visitas o clientes se encuentre con la sorpresa de que el sitio no funciona.
Recuerda que siempre deberías hacer testing corriendo rspec antes de subir los cambios a un servidor para evitar errores innecesarios.
- Pin Up Casino Oyna Türkiye, Pinup’un Resmi Web Sites - April 3, 2024
- All The Classic Pinup Positions For Vintage Elegance Photoshoot - April 3, 2024
- وان إكس بت ويكيبيدي - April 3, 2024
- ️ أفضل مواقع المراهنات الرياضية احصل على أفضل مكافآت الترحي - April 3, 2024
- ️ أفضل مواقع المراهنات الرياضية احصل على أفضل مكافآت الترحي - April 3, 2024
- 1win Bahis Şirketinin Resmi Web Sitesi 1win 2023 Online Spor Bahisleri, 1win Bahis Şirketine Giriş Yapın - April 3, 2024
- “المراهنات الرياضية أونلاين 1xbet ᐉ شركة المراهنات 1xbet تسجيل الدخول ᐉ 1xbet Co - April 2, 2024
- Pin Upward Casino Giriş, Üyelik, İndirme, Promosyonla - March 31, 2024
- Pin Up On Line Casino Türkiye Giriş Yapın Ve 0 Bonus Kazanı - March 31, 2024
- تنزيل 1xbet => جميع إصدارات 1xbet Sixth Is V 1116560 تطبيقات المراهنات + مكافأة مجاني - March 31, 2024