Estoy cerca del comienzo de un nuevo proyecto y (¡jadeó!) Por primera vez estoy intentando incluir pruebas unitarias en un proyecto mío.Cómo escribir pruebas unitarias para llamadas a bases de datos
Tengo problemas para diseñar algunas de las pruebas unitarias. Tengo algunos métodos que han sido fáciles de probar (pasar dos valores y verificar el resultado esperado). Tengo otras partes del código que hacen cosas más complejas como ejecutar consultas en la base de datos y no estoy seguro de cómo probarlas.
public DataTable ExecuteQuery(SqlConnection ActiveConnection, string Query, SqlParameterCollection Parameters)
{
DataTable resultSet = new DataTable();
SqlCommand queryCommand = new SqlCommand();
try
{
queryCommand.Connection = ActiveConnection;
queryCommand.CommandText = Query;
if (Parameters != null)
{
foreach (SqlParameter param in Parameters)
{
queryCommand.Parameters.Add(param);
}
}
SqlDataAdapter queryDA = new SqlDataAdapter(queryCommand);
queryDA.Fill(resultSet);
}
catch (Exception ex)
{
//TODO: Improve error handling
Console.WriteLine(ex.Message);
}
return resultSet;
}
Este método toma esencialmente en todas las partes y piezas necesarias para extraer algunos datos de la base de datos, y devuelve los datos en un objeto DataTable.
La primera pregunta es probablemente la más compleja: ¿Qué debo incluso de prueba en una situación como esta?
Una vez que eso está arreglado viene la pregunta de si o no para burlarse de los componentes de base de datos o tratar de probar contra la base de datos real.
En realidad, aparece un punto interesante. ¿Hay herramientas que ayuden a crear pruebas unitarias explícitamente para la capa de la base de datos? (En otras palabras, la unidad prueba los propios procs?) –
Ah, parece que mi pregunta ha sido formulada y respondida, aquí: http://stackoverflow.com/questions/754527/best-way-to-test-sql- consultas/754570 # 754570 –