aulas testes Linqto SQL

votos
1

Como faço para unidade testar meu código que tem LTS Datacontext. Recebo erro durante o teste, eu tenho um monte de DataContexts e adicionar manualmente a string de conexão é uma dor, todas as sugestões.

Publicado 19/05/2009 em 16:59
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Bem, a maneira que eu faço é a seguinte:

Meu camada de dados tem uma interface, como segue:

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

}

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

Agora, na minha construtor para o meu principal base de código (lógica de negócio) I terá um parâmetro para passar na interface para a camada de dados:

private iMyDataLayer DataLayer;

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

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

Com isso, agora posso criar um "fake" serviço de dados no meu projeto TDD:

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

}

Então agora quando eu executar o meu teste, agora eu posso passar na minha falso objeto da camada de dados para a minha lógica de negócios, a partir daqui ele irá invocar a lógica falso e voltar resultado padrão.

Agora, concedido você não estará trabalhando com dados reais aqui. No entanto, se você configurar objetos falsos com dados reais válido / inválido, você pode testar sua lógica de negócios desta forma, sem ter que se conectar a um banco de dados.

Espero que isto ajude. Deixe-me saber se você precisar de esclarecimentos sobre qualquer coisa.

Respondeu 19/05/2009 em 17:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more