Rhino MocksExamples from the real world
From the WatiN mailing list, using Rhino Mocks to verify that exceptions originating from IE won't fail the test:
        [Test]        
        public void ExceptionsInDialogHandlersShouldBeLoggedAndNeglected()        
        {        
           MockRepository mocks = new MockRepository();        
                 
           ILogWriter mockLogWriter = (ILogWriter) mocks.CreateMock(typeof (ILogWriter));        
           IDialogHandler throwExceptionDialogHandler = (IDialogHandler) mocks.CreateMock(typeof (IDialogHandler));        
           IDialogHandler simpleDialogHandler = (IDialogHandler) mocks.CreateMock(typeof (IDialogHandler));        
           Window dialog = (Window) mocks.DynamicMock(typeof (Window), IntPtr.Zero);        
                 
           Expect.Call(dialog.IsDialog()).Return(true);        
           Expect.Call(dialog.Visible).Return(true);        
           Expect.Call(throwExceptionDialogHandler.HandleDialog(dialog)).Throw(new Exception());        
           mockLogWriter.LogAction("");        
           LastCall.Constraints(Text.Like("Exception was thrown while DialogWatcher called HandleDialog:"));        
           mockLogWriter.LogAction("");        
           LastCall.Constraints(Text.StartsWith("System.Exception:"));        
           Expect.Call(simpleDialogHandler.HandleDialog(dialog)).Return(true);        
                 
           mocks.ReplayAll();        
                 
           Logger.LogWriter = mockLogWriter;        
                 
           DialogWatcher dialogWatcher = new DialogWatcher(0);        
           dialogWatcher.Add(throwExceptionDialogHandler);        
           dialogWatcher.Add(simpleDialogHandler);        
                 
           dialogWatcher.HandleWindow(dialog);        
                 
           mocks.VerifyAll();        
        }        
More posts in "Rhino Mocks" series:
- (30 Jun 2008) Getting closer to conclusion
- (29 Jun 2008) The role of Stub vs. Mock
- (29 Jun 2008) To be strict or not?
 

Comments
Comment preview