2014-03-12 7 views
1

단위 테스트 및 모의 프레임 워크를 처음 사용했습니다.단위 테스트 모의 방법

는 제가 모의 프레임 워크

을 통해 테스트 할 여기 목록으로

public virtual List<TemplateClass> GetTemplateist() 
{ 
    //this is dummy implementation 
     return _templatelist; 
} 

를 데이터베이스 및 반환에서 데이터를 검색하는 방법을 테스트 할 내 테스트는 다음과 같이한다.

[SetUp] 
public void TemplateListServiceTestSetUp() 
{ 
    objlsttemplateList = new List<TemplateClass>(); 
    TemplateClass objtemplateclass = new TemplateClass(); 
    objlsttemplateList .Add(objtemplateclass); 
    mock = new Mock<TemplateClassService>(); 
    mock.Setup(x => x.GetTemplatelist()).Returns(objlsttemplateList); 
} 

[Test] 
public void TemplateListServiceTest() 
{ 
    TemplateClassService obj = mock.Object; 
    var lst= obj.GetTemplatelist(); 
} 

this obj.GetTemplatelist();은 null입니다.

나는 result.Result에 대해 혼란 스럽나요? . 이것이 실제로 GetTemplateList()을 테스트하는 방식입니까?

어떻게 이런 식으로 테스트 할 수 있는지 제안하십시오. 미리 감사드립니다.

+0

DB 상호 작용을 사용하는 경우 "더미"구현 이상을 표시해야합니다. 시험 대상이 아니라 모의하는 DB 상호 작용입니다. –

+0

안녕하세요 당신은 몇 가지 예제를 게시 할 수 있습니다. 우리 GetTemplateList()에서 데이터베이스와 전화를 가지고 테스트 설치에서 기본적으로 우리는 방법을 모의. 기본적으로 내가 어디 데이터베이스 호출을 조롱 것입니다 이해할 수 없습니다. – Gautam

답변

1

조롱 프레임 워크의 목적은 테스트중인 코드를 종속성에 대한 구현을 제공하여 테스트중인 코드를 격리 할 수있게하는 것입니다.

예제에서 GetTemplateList() 메서드는 종속성이 없으며 TemplateClassService 클래스에도 none이 있으므로 아마도 조롱은 필요하지 않습니다. 메소드를 테스트하기 위해 메소드를 호출 한 다음 예상 결과를 수신했다고 Assert하면됩니다.

더미 구현을 데이터베이스에서 데이터를 검색하는 실제 코드로 바꿀 때 조롱 프레임 워크가 필요합니다. 이때 데이터베이스 호출을 처리하는 Repository 인터페이스 나 비슷한 것을 주입 할 것입니다. 그러면 코드를 테스트하기 위해 데이터베이스 연결을 실제로 가질 필요가 없도록 조롱 받아야합니다.

+0

빠른 응답 주셔서 감사합니다. GetTemplateList 메서드는 데이터베이스와 호출을 가지고 있으며 database.so에서 데이터를 가져 오는 것은 조롱을 사용했습니다. – Gautam

관련 문제