문제

LTS DataContext가있는 코드를 단위 테스트하려면 어떻게해야합니까? 테스트하는 동안 오류가 발생하고 DataContexts가 많고 수동으로 연결 문자열을 추가하는 것은 통증입니다.

도움이 되었습니까?

해결책

글쎄, 내가하는 방식은 다음과 같습니다.

내 데이터 계층에는 다음과 같은 인터페이스가 있습니다.

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

}

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

이제 메인 코드베이스 (비즈니스 로직)의 생성자에서 데이터 계층의 인터페이스에 전달할 매개 변수가 있습니다.

private iMyDataLayer DataLayer;

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

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

이를 통해 이제 TDD 프로젝트에서 "가짜"데이터 서비스를 만들 수 있습니다.

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

}

이제 테스트를 실행하면 이제 가짜 데이터 계층 객체를 비즈니스 로직으로 전달할 수 있습니다. 여기에서 가짜 논리를 호출하고 기본 결과를 되 찾을 수 있습니다.

이제 여기에서 실제 데이터로 작업하지 않을 것이라고 부여했습니다. 그러나 실제 유효/유효하지 않은 데이터로 가짜 객체를 설정하면 데이터베이스에 연결하지 않고도 비즈니스 로직을 테스트 할 수 있습니다.

도움이 되었기를 바랍니다. 무엇이든 설명이 필요하면 알려주세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top