Pregunta

¿Cómo se prueba mi unidad de código que tiene LTS DataContext. Me sale error durante la prueba, tengo un montón de DataContexts y añadir manualmente la cadena de conexión es un dolor, alguna sugerencia.

¿Fue útil?

Solución

Bueno, la manera de hacerlo es la siguiente:

Mi capa de datos tiene una interfaz, tal como sigue:

public class MyDataLayer : iMyDataLayer
{
  public string GetMyData(parameters)
  {
    return myQueryValue;
  }

}

public interface iMyDataLayer
{
  public string GetMyData(parameters);
}

Ahora, en mi constructor para mi base de código principal (lógica de negocio) voy a tener un parámetro para pasar en la interfaz de la capa de datos:

private iMyDataLayer DataLayer;

public class MyBusinessLogic(iMyDataLayer dataLayer)
{
   DataLayer = dayaLayer
}

public string GetMyData(parameters)
{
  return DataLayer.GetMyData(parameters)
}

Con esto, ahora puedo crear un servicio de datos "falso" en mi proyecto TDD:

public class FakeDataLayer : iMyDataLayer
{
      public string GetMyData(parameters)
      {
        return "Some Default Value or Object";
      }

}

Así que ahora cuando corro mi prueba, ahora puedo pasar en mi falso objeto de capa de datos a mi lógica de negocio, de aquí que voy a invocar la lógica falsa y volver resultado predeterminado.

Ahora, otorgado no va a estar trabajando con datos reales aquí. Sin embargo, si los objetos de configuración falsos con datos válidos / inválidos reales, que pueden poner a prueba su lógica de negocio de esta manera sin tener que conectarse a una base de datos.

Espero que esto ayude. Déjeme saber si usted necesita alguna aclaración sobre cualquier cosa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top