无法在Rhino Mocks中调用方法调用

时间:2012-02-06 13:34:16

标签: mocking rhino-mocks

我尝试了以下内容:

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()

之后,响应类型始终等于null

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

您正在定义一个期望,当使用特定的GetAllRequest实例执行GetAll()时,您将返回之前设置的getAllResponse。但是,在GetTeamForFocusArea调用中,您正在使用完全不同的GetAllRequest实例调用GetAll(这是您当时正在创建的实例)。由于实例不匹配,Rhino.Mocks将此视为不同的调用,并且不会返回您的期望。

设置对IgnoreArguments()的期望,因为看起来你不关心传递给GetAll的内容,你只是希望它返回一个特定的结果。