Bingo...it's not a mocked class holding state problem from what I can see but rather a problem with LogProvider (at least that's where I'd start).
Thanks for clarifying my thoughts Alex. On Thu, Nov 12, 2009 at 9:17 AM, Alex McMahon <[email protected]> wrote: > I think Tim is suggesting something within your code is where there is a > state problem. So the answer to "what can I do to prevent this" is to look > through the classes you're testing and make sure that multiple instances of > the class are truly independent from each other. i.e. there are no statics > or singletons that will be shared among multiple instances. LogProvider does > look like a sensible place to start > > 2009/11/12 tom308 <[email protected]> > > >> you are right, something is the mocked instance... >> >> but what can i do to prevent this ? >> >> >> On Nov 12, 4:35 pm, Tim Barcz <[email protected]> wrote: >> > Without seeing LogProvider, LogMethod1, LogMethod2, LogMethod3 I am >> guessing >> > you have saved state problems which is probably coming from use of >> > LogProvider (static class). >> > >> > *something* is getting saved from execution to execution. >> > >> > Tim >> > >> > >> > >> > On Thu, Nov 12, 2009 at 8:30 AM, tom308 <[email protected]> wrote: >> > >> > > sorry - always the first one is successful and all other are >> > > failing.... >> > >> > > On Nov 12, 4:29 pm, tom308 <[email protected]> wrote: >> > > > let me just point that running order didn't change anything (always >> > > > the first one is failing) >> > > > also i tried to call log.BackToRecord(); at the end of each test >> > > > method - and :-( it didn't help... >> > >> > > > can anyone see the problem ? >> > >> > > > On Nov 12, 9:36 am, tom308 <[email protected]> wrote: >> > >> > > > > Hey Tim, >> > > > > of course i can: >> > >> > > > > [TestCleanup()] >> > > > > public void MyTestCleanup() >> > > > > { >> > > > > LogManager.Shutdown(); >> > > > > } >> > >> > > > > #endregion >> > >> > > > > [TestMethod] >> > > > > public void TestBasicLogMethod() >> > > > > { >> > > > > using (Logger log = >> MockRepository.GenerateMock<Logger> >> > > > > (null, null)) >> > > > > { >> > > > > LogProvider.c_logger = log; >> > > > > log.Expect(l => l.WriteToLog(LogSeverity.Debug, >> > > > > "LogTest.AOPTests", "LogMethod", "OnEntry")); >> > > > > log.Expect(l => l.WriteToLog(LogSeverity.Debug, >> > > > > "LogTest.AOPTests", "LogMethod", "OnExit")); >> > >> > > > > LogMethod(); >> > > > > log.VerifyAllExpectations(); >> > > > > } >> > > > > } >> > >> > > > > [TestMethod] >> > > > > public void TestLogMethodForCategory() >> > > > > { >> > > > > using (Logger log = >> MockRepository.GenerateMock<Logger> >> > > > > (null, null)) >> > > > > { >> > > > > LogProvider.c_logger = log; >> > >> > > > > log.Expect(l => l.WriteToLog(LogSeverity.Debug, >> > > > > LogCategories.LogFile | LogCategories.EventLog, >> "LogTest.AOPTests", >> > > > > "LogMethod2", "OnEntry")); >> > > > > log.Expect(l => l.WriteToLog(LogSeverity.Debug, >> > > > > LogCategories.LogFile | LogCategories.EventLog, >> "LogTest.AOPTests", >> > > > > "LogMethod2", "OnExit")); >> > >> > > > > LogMethod2(); >> > >> > > > > log.VerifyAllExpectations(); >> > > > > } >> > > > > } >> > >> > > > > [TestMethod] >> > > > > public void TestLogMethodForSeverity() >> > > > > { >> > > > > using (Logger log = >> MockRepository.GenerateMock<Logger> >> > > > > (null, null)) >> > > > > { >> > > > > LogProvider.c_logger = log; >> > > > > log.Expect(l => l.WriteToLog(LogSeverity.Warning, >> > > > > "LogTest.AOPTests", "LogMethod3", "OnEntry")); >> > > > > log.Expect(l => l.WriteToLog(LogSeverity.Warning, >> > > > > "LogTest.AOPTests", "LogMethod3", "OnExit")); >> > >> > > > > LogMethod3(); >> > >> > > > > log.VerifyAllExpectations(); >> > > > > } >> > > > > } >> > >> > > > > On Nov 12, 4:43 am, Tim Barcz <[email protected]> wrote: >> > >> > > > > > Can you post all of the code here? >> > >> > > > > > On Wed, Nov 11, 2009 at 8:57 AM, tom308 <[email protected]> >> wrote: >> > >> > > > > > > Hi all! >> > > > > > > i am new to TDD & Mocks (but very enthusiastic about it). >> > > > > > > i am using MSTest & Rhino mock 3.5. >> > > > > > > testing are OK when running each one separately, but when >> running >> > > > > > > entire TestSet, the first one is OK but all other are failing. >> > > > > > > My hunch is that i am holding the mocked object between tests, >> and >> > > > > > > causing the problem (i saw that it is same object). >> > > > > > > i also tried to use a repository instance insted of the static >> one, >> > > > > > > but it didn't help. >> > > > > > > can someone help ? >> > >> > > > > > > my tests are all from the same template: >> > >> > > > > > > [TestMethod] >> > > > > > > public void TestBasicLogMethod() >> > > > > > > { >> > > > > > > using (Logger log = >> MockRepository.GenerateMock<Logger> >> > > > > > > (null, null)) >> > > > > > > { >> > > > > > > //set the instance into the logProvider private >> > > static >> > > > > > > logger >> > > > > > > LogProvider.c_logger = log; >> > >> > > > > > > log.Expect(l => l.WriteToLog(LogSeverity.Debug, >> > > > > > > "LogTest.AOPTests", "LogMethod", "OnEntry")); >> > > > > > > log.Expect(l => l.WriteToLog(LogSeverity.Debug, >> > > > > > > "LogTest.AOPTests", "LogMethod", "OnExit")); >> > >> > > > > > > LogMethod(); >> > > > > > > log.VerifyAllExpectations(); >> > > > > > > } >> > > > > > > } >> > >> > > > > > -- >> > > > > > Tim Barcz >> > > > > > Microsoft C# MVP >> > > > > > Microsoft ASPInsiderhttp://timbarcz.devlicio.ushttp:// >> > >www.twitter.com/timbarcz >> > >> > -- >> > Tim Barcz >> > Microsoft C# MVP >> > Microsoft ASPInsiderhttp://timbarcz.devlicio.ushttp:// >> www.twitter.com/timbarcz >> >> > > > > -- Tim Barcz Microsoft C# MVP Microsoft ASPInsider http://timbarcz.devlicio.us http://www.twitter.com/timbarcz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino.Mocks" 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/rhinomocks?hl=en -~----------~----~----~----~------~----~------~--~---
