代码之家  ›  专栏  ›  技术社区  ›  Miyagi Coder

使用构造函数模拟对象-Rhino Mocks

  •  6
  • Miyagi Coder  · 技术社区  · 15 年前

    例如,如何模拟此对象。。。

    public class Foo : IFoo
    {
        private IBar bar;
        public Foo (IBar bar)
        {
            this.bar = bar
        }
    
        public DoSomeThingAwesome()
        {
           //awesomeness happens here
        }
    
    }
    
    3 回复  |  直到 14 年前
        1
  •  14
  •   Jon Skeet    15 年前

    你不要嘲笑我 Foo -你嘲笑 IFoo . 检验 你嘲笑它自己 IBar 并将模拟传递给构造函数。

    你应该尽量避免有依赖的东西 显式构造 :如果出现以下情况,则应向其提供工厂: 伊福 不知怎么的,还是有一个 伊福 明确地传递给他们。

        2
  •  4
  •   Andrew Bullock    15 年前
    var myIFoo = MockRepository.GenerateStub<IFoo>();
    

    您可以通过以下方式查看发生的惊人事件:

    myIFoo.AssertWasCalled(f => f.DoSomethingAwesome());
    
        3
  •  2
  •   Tinister    15 年前

    mockRespository.StrictMock<Foo>( ibarVariable )

    然而,除非Foo的所有成员都是虚拟的,否则它不会真正起作用。