を返すメソッド、私はかかわらずに渡されているものの、方法をスタブする必要があり、常にそれが第三引数を返します:RhinoMocks - スタブ私はRhinoMocksを使用しています。パラメータ
明らか_service.Stub(x => x.Method(parm1, parm2, parm3)).Return(parm3);
、それをそれほど簡単ではありません。私はいつもparmsが何になるのか分からないが、私はいつも第3のものを返そうと思っている。
を返すメソッド、私はかかわらずに渡されているものの、方法をスタブする必要があり、常にそれが第三引数を返します:RhinoMocks - スタブ私はRhinoMocksを使用しています。パラメータ
明らか_service.Stub(x => x.Method(parm1, parm2, parm3)).Return(parm3);
、それをそれほど簡単ではありません。私はいつもparmsが何になるのか分からないが、私はいつも第3のものを返そうと思っている。
あなたはDo() handlerとメソッドの実装を提供することができます。
Func<TypeX,TypeY,TypeZ,TypeZ> returnThird = (x,y,z) => z;
mock.Expect(x => x.Method(null, null, null)).IgnoreArguments().Do(returnThird);
注それは入力引数の型と戻り値の型の両方であるため、TypeZ
が二回表示されていること。
コールバックを使用してexpectメソッドを使用して、後の値を返すことができます。以下はnullを返します。
_service.Expect(o => o.Method(null, null, null))
.Callback((object parm1, object parm2, object parm3) => { return parm3; });
スタブでコールバックを使用できるかどうかわかりません。
これが私の仕事:
_service
.Stub(x => x.Method(Arg<string>.Is.Anything, ...))
.Return(null) // ... or default(T): will be ignored but RhinoMock requires it
.WhenCalled(x =>
{
// This will be used as the return value
x.ReturnValue = (string) x.Arguments[0];
});
を、私はこれが可能であるかどうかわからないです。テストしようとしているメソッドを投稿できますか? –
このメソッドは、静的クラスから別のメソッドへの呼び出しを返します。基本的に、呼び出しはデータベース内で最初のパラメーターが存在するかどうかを調べ、一致しない場合は3番目のパラメーターを返します。 – Martin
これはMoq –