我有以下使用NMock失敗的測試。當服務調用的結果傳遞給視圖時,它曾經工作,但現在由於結果轉換爲dto而失敗。NMock問題與清單
我認爲這可能意味着我需要創建一個自定義匹配器,但我不確定。有沒有人有任何想法?
錯誤消息:
預期: 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 2009-12-10 09:15:43
上述鏈接NMock 2.0高級主題文檔(http://www.nmock.org/advanced.html)已損壞。該文檔的新鏈接是http://nmock.sourceforge.net/advanced.html。謝謝你的答案 – inlokesh 2013-03-14 12:51:44