NMock을 사용하여 다음 테스트를 통과했습니다. 서비스 호출의 결과가 뷰로 전달되었을 때 작동했지만 이전에는 결과가 dto로 변환 되었기 때문에 실패했습니다.NMock 문제 목록
이것은 사용자 정의 정규 표현식을 작성해야한다는 의미 일지 모르지만 확실하지 않습니다. 누구든지 아이디어가 있습니까?
오류 메시지 : 예상
Test method Dgc.Cpo.RM.UI.Presentation.Test.ProjectPresenterTest.LoadProjectsTest threw exception: NMock2.Internal.ExpectationException: unexpected invocation of projectView.SetProjects(<System.Collections.Generic.List`1[Dgc.Cpo.ResourceManagement.UI.Presentation.ProjectPresentationDto]>)
: 1 시간 (동일)는 projectView.SetProjects [0 번 호출].
코드 : 당신은 그것을 가지고
public void LoadProjectsTest()
{
IList<ProjectServiceGetProjectsResponse> expectedGetProjectsResponse = new List<ProjectServiceGetProjectsResponse>();
expectedGetProjectsResponse.Add(new ProjectServiceGetProjectsResponse() { Id = 1, Name = "Project 1", RefNo = "001", Complete = false, Dropped = false });
expectedGetProjectsResponse.Add(new ProjectServiceGetProjectsResponse() { Id = 2, Name = "Project 2", RefNo = "002", Complete = true, Dropped = false });
expectedGetProjectsResponse.Add(new ProjectServiceGetProjectsResponse() { Id = 3, Name = "Project 3", RefNo = "003", Complete = false, Dropped = true });
IList<ProjectPresentationDto> expectedSetProjectsRequest = new List<ProjectPresentationDto>();
expectedSetProjectsRequest.Add(new ProjectPresentationDto(expectedGetProjectsResponse[0]));
expectedSetProjectsRequest.Add(new ProjectPresentationDto(expectedGetProjectsResponse[1]));
expectedSetProjectsRequest.Add(new ProjectPresentationDto(expectedGetProjectsResponse[2]));
ProjectPresenter_Accessor target = new ProjectPresenter_Accessor(this.mockView,
this.mockProjectService);
Expect.Once.On(this.mockProjectService).Method("GetProjects").Will(Return.Value(expectedGetProjectsResponse));
Expect.Once.On(this.mockView).Method("SetProjects").With(expectedSetProjectsRequest);
target.LoadProjects();
this.mock.VerifyAllExpectationsHaveBeenMet();
}
감사합니다. James :-) – m0gb0y74
위 링크 NMock 2.0 고급 주제 문서 (http://www.nmock.org/advanced.html)가 깨졌습니다. 설명서 링크는 http://nmock.sourceforge.net/advanced.html입니다. 답변 해 주셔서 감사합니다. – inlokesh