así que tengo una clase que se ve algo como lo siguiente:¿Cómo pruebo la unidad de las funciones sobrecargadas?
public class MyClass
{
DatabaseDependency _depend;
public MyClass(DatabaseDependency depend)
{
_depend = depend;
}
public string DoSomething(DBParameter database)
{
var result = _depend.GetResults(database, ...);
string response = String.Empty;
// some logic to process the result
return response;
}
}
Dónde DbParameter es una clase de valor simple que contiene propiedades como servidor, DBName, DbType, etc.
Ahora, quiero añadir una sobrecarga a DoSomething para que acepte una cadena de conexión en lugar del parámetro DBParameter (suponiendo que DatabaseDependency ya tiene una sobrecarga de GetResults que acepta una cadena de conexión).
Mi pregunta: Tengo varias pruebas unitarias que describen las diversas rutas lógicas utilizadas para procesar el resultado de DatabaseDependency.GetResults. Cuando agregue la sobrecarga a DoSomething, esencialmente refactorizaría el código para que ambas sobrecargas reutilicen esta lógica (es decir, probablemente la mueva a un método privado). ¿Cuál es la forma correcta de realizar esta prueba unitaria? ¿Debo tener tantas pruebas unitarias para verificar todas las rutas lógicas para la nueva sobrecarga que estoy agregando?