¿Es demasiado tarde para comenzar a escribir una prueba para mis aplicaciones Rails?

¿Qué pasa si te digo que acabo de tomar un café con un tipo bastante conocido , trabajando con Rails desde el principio (más de 10 años), con docenas (si no cientos) de aplicaciones de Rails en su haber. Él no está escribiendo pruebas en absoluto, ni está utilizando un servidor provisional, y está haciendo otras cosas que ciertamente no se considerarían ‘a la manera de Rails’. (No, no voy a revelar su nombre, porque esta publicación no se trata de su filosofía o de criticar sus decisiones de hacer las cosas a su manera).

Mi punto es: al comenzar a escribir pruebas ahora, seguramente estarás por delante de muchos programadores de Rails , algunos de ellos trabajando con Rails desde hace más de dos años. Sí, sé que parece que todos en la comunidad de Rails escriben exámenes todo el tiempo, pero esto simplemente no es cierto . (Nuevamente, no estoy debatiendo si escribir pruebas es bueno o malo (pista: es bueno), solo estoy afirmando un hecho).

La filosofía de pruebas de Rails es un panorama siempre cambiante : las pruebas fueron una parte integral de Rails desde el principio, pero todos tenían sus propias ideas al respecto, y probablemente nada causó tanta controversia como probar problemas relacionados:

  • RSpec vs el marco de prueba oficial de Rails
  • TDD vs BDD vs sin prueba primero
  • Fixtures vs Factory girl and friends
  • prueba de unidad de zanja a favor de pruebas de alto nivel (integración / aceptación)
  • burlarse / tropezar: por qué / cuándo / cómo (o, si es que lo hace)
  • ¡Mucho más!

La prueba es DIFÍCIL . No es un camino directo y trivial con un objetivo final bien definido, sino más bien una colección en constante evolución de metodologías y filosofías de razonamiento sobre la solidez de su aplicación .

Por lo tanto, NUNCA es tarde para comenzar . Debido a la complejidad de todo el universo de pruebas, la mayoría de nosotros también somos principiantes; ciertamente me considero uno, incluso después de más de 10 años con Rails.

Permítanme terminar con uno de mis tweets favoritos sobre el tema de las pruebas de Gregory Brown:

¿Te gustaría ver más contenido excelente como este? ¡Por favor vota a favor por ‘sí’!

Nunca es tarde para comenzar a escribir exámenes. De hecho, podría ser aún más fácil para usted ahora que lleva unos años trabajando en Rails.

El primer paso es bastante obvio, elija un proyecto que necesite un poco de amor, tal vez sea un proyecto en el que actualmente esté trabajando mucho, o tal vez sea un proyecto en el que haya tenido que realizar un mantenimiento recientemente. Pero elige algo en lo que quieras trabajar y agrega las gemas rspec.

Para proyectos sin pruebas, el mejor enfoque que he encontrado es un enfoque de arriba hacia abajo. Comience escribiendo algunas pruebas de integración para probar bits completos de funcionalidad (Característica especificada), una vez que haya hecho eso, profundice y comience a escribir pruebas para las vistas y los controladores. Una vez que haya completado esas pruebas, comience a escribir pruebas para sus modelos y servicios.

Tomará algo de tiempo, pero lo más probable es que descubras aspectos de tus aplicaciones que necesiten reelaborarse o reescribirse. Esto es bueno y espero que aprendas mucho en el proceso :).

More Interesting

¿Cuál es mejor: CMC o NIIT?

Estoy atrapado en una empresa basada en servicios de TI. Fui probador manual durante 3 años y luego hice mi MBA. El salario es bueno, el trabajo es aburrido. ¿Qué tengo que hacer?

Mi jefe, el gerente de ingeniería, se jubilará en 4 años. ¿Puedo pedirle al Director de Ingeniería que me prometa el puesto y lo ponga por escrito?

¿Qué es un juicio civil?

Cómo cambiar de trabajo después de 10 años en una industria

¿Qué requisitos y conocimientos debo tener para ser analista de datos?

¿Qué especializaciones en lingüística y tecnología son las más populares y valoradas, y también las más rápidas para conseguir un trabajo? Ya tengo una maestría en Lingüística.

¿Cuál es el valor de los siguientes álbumes de sellos?

¿Cómo es la matemática y la computación científica de (IIT Kanpur, Bachelor of Science) diferente de las matemáticas y la computación de IIT Delhi (B-Tech o Duel Degree)?

¿Qué es mejor: un programa de maestría para un doctorado en gestión de ingeniería o ingeniería industrial y de sistemas?

Cómo comenzar mi carrera como entrenador de aptitud cuantitativa en India

¿Los estudiantes internacionales reciben ofertas de trabajo después de obtener una maestría (ingeniería mecánica) en los Estados Unidos?

¿Cómo me convierto en un probador de penetración?

¿Qué es el análisis de textura en el procesamiento de imágenes digitales?

¿Dónde debería estudiar después de la clase 10 en India?