4

我做了以下存根

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

最后一个out参数是类型的参数int

我想做以下断言

    _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方法的值无关紧要(Dummy.call 是重要的)。

于 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 回答