4

次のスタブを作成しました

    _Service.Stub(s => s.Login(Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<int>.Is.Anything, out ggg)).OutRef(55);

最後のパラメータはoutタイプのパラメータですint

次のAssertを作りたい

    _Service.AssertWasNotCalled(s => s.Login(Arg<string>.Is.Anything, Arg<string>.Is.Anything,Arg<int>.Is.Anything , ??????? ));

outしかし、ここでパラメーターをどのようにメモしますか?

4

2 に答える 2

6

「単に」使用:

_Service.AssertWasNotCalled(s => s.Login(
    Arg<string>.Is.Anything,
    Arg<string>.Is.Anything,
    Arg<int>.Is.Anything ,
    out Arg<int>.Out(10).Dummy
));

Outメソッドに渡される値は関係ありません (.c​​allDummyが重要です)。

于 2012-08-01T08:25:11.500 に答える
3

モック アサーションは通常、スタブではなくモックに適用されます。したがって、コードを書き直して、次の設定を行うことができます

_Service.Expect(s => s.Login(Arg<string>.Is.Anything, Arg<string>.Is.Anything, Arg<int>.Is.Anything, out ggg)).OutRef(55).Repeat.Never();

そして、テストのAssert部分でmke検証

_Service.VerifyAllExpectations();
于 2012-08-01T08:26:46.757 に答える