Estoy aprendiendo los conceptos de desarrollo basado en pruebas leyendo los artículos de Craftsman (haga clic en Craftsman debajo de Por tema ) recomendados en una respuesta a mi pregunta anterior, "Proyecto de muestra para aprender JUnit y la ingeniería de software adecuada" . ¡Me encanta hasta ahora!
Pero ahora quiero sentarme y probarlo yo mismo. Tengo una pregunta que espero que solo necesite una respuesta simple.
¿Cómo organizas tus clases de prueba JUnit y tu código real? Me refiero principalmente a la estructura del paquete, pero cualquier otro concepto importante también sería útil.
¿Pones clases de prueba en org.myname.project.test. * Y código normal en org.myname.project. *? ¿Pones las clases de prueba junto a las clases normales? ¿Prefieres prefijar los nombres de las clases con Test en lugar de agregarles un sufijo?
Sé que esto parece ser el tipo de cosas por las que no debería preocuparme tan pronto, pero soy una persona muy centrada en la organización. Soy casi el tipo de persona que dedica más tiempo a descubrir métodos para realizar un seguimiento de lo que se debe hacer, en lugar de hacer las cosas realmente.
Y tengo un proyecto que actualmente está perfectamente dividido en paquetes, pero el proyecto se convirtió en un desastre. En lugar de intentar refactorizar todo y escribir pruebas, quiero empezar de cero, primero las pruebas. Pero primero necesito saber a dónde van mis pruebas.
editar: Me olvidé por completo de Maven, ¡pero parece que la mayoría de ustedes lo están usando! En el pasado tuve un caso de uso específico en el que Maven me rompió por completo, pero Ant me dio la flexibilidad que necesitaba, así que terminé apegado a Ant, pero estoy pensando que tal vez estaba tomando el enfoque equivocado. Creo que le daré a Maven otra oportunidad porque parece que irá bien con el desarrollo basado en pruebas.