Linqto SQL 클래스 테스트
-
22-08-2019 - |
문제
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";
}
}
이제 테스트를 실행하면 이제 가짜 데이터 계층 객체를 비즈니스 로직으로 전달할 수 있습니다. 여기에서 가짜 논리를 호출하고 기본 결과를 되 찾을 수 있습니다.
이제 여기에서 실제 데이터로 작업하지 않을 것이라고 부여했습니다. 그러나 실제 유효/유효하지 않은 데이터로 가짜 객체를 설정하면 데이터베이스에 연결하지 않고도 비즈니스 로직을 테스트 할 수 있습니다.
도움이 되었기를 바랍니다. 무엇이든 설명이 필요하면 알려주세요.
제휴하지 않습니다 StackOverflow