Compare and contrastRhino Mocks vs. Hand Rolled Stubs
For various reasons which will be made clear soon, I needed to write the same test twice, once using Rhino Mocks, the second time using hand rolled stubs. I thought it was an interesting exercise, since this is not demo level code.
[Test] public void WillCallHandlesWithWithRouteTestHanlderWhenRouteCalled_UsingRhinoMocks() { const IQuackFu msg = null; var mocks = new MockRepository(); var routing = dslFactory.Create<RoutingBase>(@"Routing\simple.boo"); var mockedRouting = (RoutingBase)mocks.PartialMock(routing.GetType()); Expect.Call(() => mockedRouting.HandleWith(null, null)) .Constraints(Is.Equal(typeof(RoutingTestHandler)), Is.Anything()); mocks.ReplayAll(); mockedRouting.Initialize(msg); mockedRouting.Route(); mocks.VerifyAll(); } [Test] public void WillCallHandlesWithWithRouteTestHanlderWhenRouteCalled() { const IQuackFu msg = null; dslFactory.Register<StubbedRoutingBase>(new StubbedRoutingDslEngine()); var routing = dslFactory.Create<StubbedRoutingBase>(@"Routing\simple.boo"); routing.Initialize(msg); routing.Route(); Assert.AreEqual(typeof (RoutingTestHandler), routing.HandlerType); Assert.IsInstanceOfType( typeof(NewOrderMessage), routing.Transformer() ); }
More posts in "Compare and contrast" series:
- (02 Apr 2012) Performance implications of method signatures
- (20 May 2008) Rhino Mocks vs. Hand Rolled Stubs
Comments
Comment preview