如何在lambda Expect中使用Rhino.Mocks.RhinoMocksExtensions.VoidType?

时间:2009-10-11 13:30:46

标签: rhino-mocks

我在这一行收到以下错误:

session.Expect(s => s.Add("string", null)).IgnoreArguments().Return(SaveMockUser());

cannot convert from 'void' to 'Rhino.Mocks.RhinoMocksExtensions.VoidType'

SaveMockUser定义如下

private void SaveMockUser()
{
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

无法返回void类型。您可能想要做的是另一个期望,即期望实际调用SaveMockUser()或通过回调实际执行操作 - 即,当您看到此函数被调用时,请执行此操作。

session.Expect( s => s.Add("string", null) )
       .IgnoreArguments()
       .WhenCalled( x => SaveMockUser() );

甚至更好 - 使用新的内联约束

session.Expect( s => s.Add( Arg<string>.Is.Equal( "string" ), Arg<string>.Is.Anything ) )
       .WhenCalled( x => SaveMockUser() );