Невозможно простое обращение к методу в Rhino Mocks - PullRequest
0 голосов
/ 06 февраля 2012

Я пробовал следующее:

var getAllResponse = new GetAllResponse();
// Prime the GetAll method
var mockILineOfBusinessService = MockRepository.GenerateMock<ILineOfBusinessService>();
mockILineOfBusinessService.Expect(i => i.GetAll(new GetAllRequest())).Return(getAllResponse);

Это из класса, который я тестирую:

public static string GetTeamForFocusArea(this ILineOfBusinessService lineOfBusinessService)
{
    ...
    GetAllResponse response = lineOfBusinessService.GetAll(new GetAllRequest());
    ...
}

В приведенном выше примере тип ответа всегда равен нулю послепозвоните по номеру GetAll()

Может ли кто-нибудь указать мне правильное направление, пожалуйста?

1 Ответ

1 голос
/ 06 февраля 2012

Вы определяете ожидание того, что когда GetAll () будет выполнен с конкретным экземпляром GetAllRequest, вы вернете getAllResponse, который вы ранее настроили. Однако внутри вашего вызова GetTeamForFocusArea вы делаете вызов GetAll с совершенно другим экземпляром GetAllRequest (это тот, который вы создаете в то время). Поскольку экземпляры не совпадают, Rhino.Mocks видит это как другой вызов и не возвращает ваше ожидание.

Настройте ожидание на IgnoreArguments (), поскольку, похоже, вам все равно, что передается в GetAll, вы просто хотите, чтобы он возвращал определенный результат.

...