【问题标题】:rhino mocks usage of AssertWasNotCalledrhino 嘲笑 AssertWasNotCalled 的使用
【发布时间】:2012-08-01 08:09:38
【问题描述】:

我做了以下存根

    _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 参数?

【问题讨论】:

    标签: c# unit-testing rhino-mocks


    【解决方案1】:

    “简单”使用:

    _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 调用是重要的)。

    【讨论】:

      【解决方案2】:

      模拟断言通常应用于模拟而不是存根。因此,您可以重写代码以进行以下设置

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

      在测试的断言部分进行验证

      _Service.VerifyAllExpectations();
      

      【讨论】:

        猜你喜欢
        • 2011-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-27
        • 2010-12-26
        • 2016-10-02
        • 2019-12-20
        • 1970-01-01
        相关资源
        最近更新 更多