Not at a PC so cannot say for certain but wouldn't you just set an expectation on theStubUnitOfWork such that the call to BeginTransaction() returns the mocked RhinoTransaction instance--?
That said, this feels like an over-specification anti-pattern to me -- this test feels like its operating at a much lower level than I would bother testing in most cases. What exactly is the (eventual) pass/fail you would be intending to assert against --? My initial impression of this is that its dangerously close to being just a cross between a test that RhinoCommons functions as expected and a test that try-catch isn't broken :) That said, I'm sitting in a conference session right now and so haven't taken a (very) close look at the code. Hope this helps, -Steve B. -----Original Message----- From: Beto <[email protected]> Sender: [email protected] Date: Tue, 19 Oct 2010 15:00:36 To: Rhino Tools Dev<[email protected]> Reply-To: [email protected] Subject: [rhino-tools-dev] How do I mock UnitOfWork.Current.BeginTransaction() ? Hi Everyone, Not sure if it belongs here or on the Rhino.Mocks group. I’m using rhino.commons and would like to test the following piece of code below but I’m having trouble Mokin UnitOfWork.Current.BeginTransaction(). I was able to mock the unit of work doing the following: var theStubUnitOfWork = MockRepository.GenerateMock<IUnitOfWork>(); UnitOfWork.RegisterGlobalUnitOfWork(theStubUnitOfWork); But I want to be able to do something similar with RhinoTransaction, I have tried this: var tx = MockRepository.GenerateMock<RhinoTransaction>(); But how do I register it as a global. Any help would be appreciated and thanks in advanced. if (isAllowedToRemove && hasAccessOnOrg) { RhinoTransaction tx = UnitOfWork.Current.BeginTransaction(); try { //do stuff tx.Commit(); } catch { tx.Rollback(); } finally { tx.Dispose(); } } -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en. -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
