public void Can_release_when_exception_occurs() { var dummyController2 = new DummyController2(); dummyFactory.Expect(x => x.CreateController(Arg<RequestContext>.Is.Anything, Arg<Type>.Is.Equal(typeof (Controller)))) .Return(dummyController2) .Repeat.Any(); ControllerBuilder.Current.SetControllerFactory(dummyFactory); try { methodInfo.Invoke(handler, new object[] {context.HttpContext}); } catch { } dummyFactory.AssertWasCalled( x => x.CreateController(Arg<RequestContext>.Is.Anything, Arg<Type>.Is.Equal(typeof (Controller)))); dummyFactory.AssertWasCalled(x => x.ReleaseController(dummyController2)); }