是否可以使用 Rhino Mock AAA 语法模拟以下情况:
// Interface
interface IFoo
{
void ExecuteFoo( Expression<Action> action );
void Increment(out int value); // value++
}
// Situation to mock:
var foo = new Foo();
int value = 7;
foo.ExecuteFoo( () => foo.Increment( out value ) );
// and here is mock that needs to be remade:
fooMock.Expect( f => f.ExecuteFoo( Arg<Expression<Action>>.Is.NotNull ));
fooMock.ExecuteFoo( () => foo.Increment( out value ) );
但是,我需要传递这个期望,而不是 .Is.NotNull 约束:
fooMock.Expect(f => f.Increment(out Arg<int>.Out(8).Dummy));
我知道这可能看起来有点奇怪,但是让我们说 ExecuteFoo 是至关重要的,它必须像这样完成。