public void FilterThrowingExceptionIsTrigged() { var action = new ThrowsExceptionFilterDecoratedAction(); var controller = new DynamicActionExecutorTestCase.DummyController(); var controllerContext = services.ControllerContextFactory.Create("area", "controller", "action", services.ControllerDescriptorProvider.BuildDescriptor(controller)); var thrownexception = new Exception(string.Format("thrown at {0}", DateTime.Now)); controllerContext.DynamicActions["action"] = action; var filterMock = new ThrowsExceptionFilter(() => thrownexception); //mockRepository.DynamicMock<IFilter>(); using (mockRepository.Record()) { Expect.Call(filterFactoryMock.Create(typeof(ThrowsExceptionFilter))).Return(filterMock); filterFactoryMock.Release(filterMock); LastCall.Repeat.Once(); } using (mockRepository.Playback()) { Assert.Throws( thrownexception.GetType() , () => controller.Process(engineContext, controllerContext) , thrownexception.Message ); controller.Dispose(); Console.WriteLine(engStubViewEngineManager.TemplateRendered); Assert.IsTrue(action.executed); Assert.IsTrue(filterMock.executed); } }