I'm going to join in the off-topic discussion here and suggest that if
you are looking at and ultimately responsible for (the current
incarnation thereof) "old" code that contains a lack of certain
sensible design features, that you should also invest some time in
reading both Martin Fowler's "Refactoring" and Robert Martin's "Clean
Code"

On Sep 16, 3:23 pm, TJA <[email protected]> wrote:
> Thank you Tim for your response. I'll get the Michael Feathers book.
> In fact my code needs refactoring before testing it.
> What about RhinoMocks? Is there any book ? I have "The art of Unit
> Testing" of Roy Osherove which is good for start but would like if
> there is a book for more advanced technics.
>
> Thanks.
>
> P.S. Sorry for other people to post it in RhinoMocks group.
>
> On 16 sep, 15:04, Tim Barcz <[email protected]> wrote:
>
>
>
> > I would pick up Michael Feather's book *Working Effectively With Legacy Code
> > ** *he talks in there about some specific examples of how to make code more
> > testable.  If you're not familiar, Michael defines anything without tests
> > (including code you JUST wrote) as legacy code.
>
> > Is the base class used around the application or is the base class used
> > solely to add additional behavior (ie. persistence)? One thought I had is
> > rather than inheritance use composition.  Another thought you could do is
> > the following:
>
> > Before:
>
> > public class BOCars: PersistentObject
> > {
> >     public bool MethodIWantToTest()
> >     {
> >         // My logic
>
> >         baseclassMethodFromPersistantObject();
>
> >         // more logic
> >     }
>
> > }
>
> > After:public class BOCars: PersistentObject
> > {
> >     public bool MethodIWantToTest()
> >     {
> >         // My logic
>
> >         WrapperMethod()
>
> >         // more logic
> >     }
>
> >     public virtual WrapperMethod()
> >     {
> >         baseclassMethodFromPersistantObject();
>
> >     }
>
> > }
>
> > Functionally everything works the same but now you have a hook that you can
> > override.
>
> > Tim
>
> > On Wed, Sep 16, 2009 at 7:20 AM, TJA <[email protected]> wrote:
>
> > > Hello,
>
> > > I have a question that is not directly related to RhinoMocks so sorry
> > > if I bother you with that. I was asked to refactor and implement unit
> > > tests in a legacy code that was developed without any unit tests. I
> > > work with NUnit and RhinoMocks.
>
> > > The first problem I was faced to is that all fonctionals layers in a
> > > code are mixes. Business Objects deal with persistance, GUI deals with
> > > persistance end busines object, busines logic in GUI, data
> > > manipulation in Business objects and son on. ONE BIG MESS. The most
> > > impressive is inheritance on several levels. So what's the point.
>
> > > In my persistance layer I have objects that's deals with data. I don't
> > > want to test it.
> > > My each Business objects inheritate directly or indirectly from a
> > > PersistentObject.
>
> > > I need to test a logic in my business objects that inheritate from my
> > > persistance layer.
>
> > > For exemple:
>
> > > public class BOCars: PersistentObject
> > > {
> > >     public bool MethodIWantToTest()
> > >     {
> > >        // My logic
>
> > >       baseclassMethodFromPersistantObject();
>
> > >       // more logic
> > >     }
> > > }
>
> > > I would like to remove dependence from PersistentObject to test my
> > > logic in "MethodIWantToTest()". What's the best way to do it using
> > > RhinoMocks. Thanks for your advaice and help.
>
> > > TJA
>
> > --
> > Tim Barcz
> > Microsoft 
> > ASPInsiderhttp://timbarcz.devlicio.ushttp://www.twitter.com/timbarcz-Masquer
> >  le texte des messages précédents -
>
> > - Afficher le texte des messages précédents -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to