¿Qué herramientas y patrones debo usar para comenzar a escribir pruebas y aplicar TDD en una aplicación Rails en una compañía de dos personas en un proyecto existente con 0 pruebas?

No he encontrado una herramienta o biblioteca que pueda ayudar al menos a auditar una base de código y luego hacer una sugerencia para realizar pruebas (o algo así). Los patrones, por otro lado, pueden aplicarse en la etapa de refactorización del ciclo TDD.

Dado que tiene una base de código existente sin ninguna prueba, sugeriría lo siguiente para comenzar con la prueba:

1. Identifica tus interfaces públicas

Aquí es donde quieres empezar. Enumera todos los métodos públicos que expone tu objeto. No necesitas probar métodos privados. Divide y conquistaras. Agrupe clases relacionadas y encuentre la más pequeña para comenzar a escribir el examen.

2. Comience a escribir su prueba

No puede seguir el ciclo TDD en este punto porque ya tiene el código en su lugar. Comience a escribir su prueba de todos modos. Sin embargo, asegúrese de que no esté obteniendo ningún falso positivo en el resultado de su prueba. No refactorice aún hasta que obtenga una buena cobertura de prueba.

3. Aplicar TDD

Con las pruebas implementadas, ahora puede iniciar TDD en su futuro desarrollo. Este también es un buen momento para hacer un poco de refactorización en su base de código existente. Las pruebas lo protegerán de implementar la rotura de código en la producción.

Por supuesto, esto es más fácil decirlo que hacerlo. Pero es mejor escribir la prueba en este punto donde tu aplicación aún no es tan grande. Comience poco a poco con las pruebas. Divide y conquistaras. Aquí hay algunos recursos útiles que pueden ayudarte en el camino:

  1. Pruebas diarias de rieles con RSpec

¡Feliz codificación!

Este podría ser exactamente el tipo de orientación que estás buscando. Es barato, vale la pena, Corey responderá a lo que está preguntando aquí en el primer video.

Clean Coders: cree una aplicación con Corey Haines , el primer video ” ¿Por dónde empezamos? “, Comience con ese.

Él hace exactamente eso, en Ruby, te dice cómo empezar, te da un ejemplo de aplicación de negocios del mundo real y lo ves hacerlo de principio a fin.