Actualmente estoy intentando crear algunas clases para hacer algunas Transformaciones de Fourier. Estoy tratando de hacerlo creando primero algunas pruebas unitarias, luego construyo la funcionalidad básica.Pruebas unitarias aplicadas a métodos privados
El problema con esto es que, bueno, puedo escribir una prueba para ver si el algoritmo funciona, y sé el resultado esperado. Luego empiezo a construir el gran algoritmo, y si funciona, las pruebas de mi unidad pasarán.
Mi problema aquí es que realmente no es TDD. Porque generalmente creas pruebas que prueban una característica muy básica de una clase. Ahora, básicamente, mi clase ejecuta un gran algoritmo y no puedo probar las partes más pequeñas del algoritmo, ya que no son públicas (siempre me han dicho que nunca querría probar métodos privados).
¿Cómo lidiar con esto?
No se puede establecer la conexión entre el estilo de procedimiento y la imposibilidad de las pruebas. El código de procedimiento puede ser probado así como orientado a objetos. – zerkms
@zerkms, estoy de acuerdo, pero estaba hablando en contexto. En el código de procedimiento, hay más posibilidades de unidades muy estrechamente acopladas. (procedimientos en este caso). He visto el código escrito en cadenas y fue muy difícil realizar pruebas unitarias. –
Probablemente ya lo haya leído, pero si no, creo que sería bueno que le aconseje leer: Michael Feathers, "Trabajar eficazmente con Legacy Code" – zerkms