Parametrización de tests con xUnit (C#)

22-11-2023

Por Mario S. Pinto Miranda

Recuerdo las primeras veces escribiendo tests, cuando aprendía a aplicar Test-Driven-Development. Hubo un momento que, con algunas katas, hacer tests era un dolor porque se volvían difíciles de mantener. Entre esos tests estaban aquellos que inspeccionaban múltiples casos (un test por cada caso). Estos al principio los generaba en copiando y pegando y solo cambiaba algo en el Arrange y otra cosa en Assert de cada test. Entonces, cuando quería hacer un cambio de diseño, múltiples tests se veían afectados (pues estaban inspeccionando la misma lógica, pero contra distinta combinación).

Más adelante, para solventar este problema, aprendí a trabajar con parametrización de tests, lo que me ayudó mejorar el mantenimiento de estos. No obstante, el test parametrizado se vuelve más abstracto (los detalles), ahí depende de cómo se afronta la parametrización y si cabría preguntarse si existe un problema de diseño (múltiples parámetros y el expected).

Continuar leyendo...