Soy bastante nuevo en TDD pero lo he usado durante el tiempo suficiente para entender cómo usar mocks, stubs, inyección de dependencia, inversión de control para resolver problemas 'similares' ... pero por alguna razón me siento muy incómodo al usar inyección de dependencia y paso en un 'IThread' (o similar).¿Cómo se prueba un método que genera hilos?
Para darle un contexto básico, estoy tratando de agregar pruebas de unidad a una aplicación heredada y no estoy seguro de cómo probar una unidad cuyo constructor genere dos hilos.
¿La única opción es usar inyección de dependencia?
Si es así, ¿qué pasa con la funcionalidad que aportan los hilos? Tal como está, los subprocesos se ejecutan en bucles (verdaderos) y nunca salen del bucle (a menos que la aplicación termine). Dentro de los bucles hay fragmentos razonables de código y este es el código que realmente quiero tener bajo prueba.
Para empeorar las cosas, no quiero sacar toda la funcionalidad de los bucles y entrar en public métodos (solo estoy probando métodos públicos ya que mis pruebas existen en otro proyecto) ya que realmente disminuirá el fácil de usar de la clase en otro lugar en el código.
¿Alguna sugerencia?
Sí, es un compromiso razonable ya que la clase que estoy probando está en una biblioteca de clase y solo se usa externamente. Esto funcionará muy bien, ¡gracias! – InvertedAcceleration