Aba-Log

作ったりする人のあれこれ

#003 Rhino.mocsでスタブの引数のコールバックに任意の値を注入する

と、いうかStubが実行されたときに任意のArgを色々する方法

そもそも何でRhino.mocsなん、という所については少し前に書かれたテストをメンテしないといけなかったから。

target.Stub(
    s=>s.DoSomething(
        Arg1,
        Arg<Action<string>>.Is.NotNull
    ))
    .WhenCalled(
        action =>{
            var test =action.Argument[1] as Action<T>;
            test?.Invoke("注入したいもの");
        }
    )
    .Return("targetの戻り値");
)

というかRhino.mocsの情報は新しいのあんまりないと思ったらここ2014年辺りから更新されてないとか何とか…