Thanks Scott - as for the tests failing - that's what happens when they get 
refactored - we'll have to get some people on fixing them as the fix goes in.  
I'd rather not leave them at the component level because that's not independent 
testing - it just isolates the component.  Anyways, interested to see what 
others think, but these mods that Scott's talking about do have the possibility 
of making this a super powerful tool going forward.

Scott, what do you think of #4 below?

Cheers,
Tim
--
Tim Ruppert
HotWax Media
http://www.hotwaxmedia.com

o:801.649.6594
f:801.649.6595

----- "Scott Gray" <[email protected]> wrote:

> I haven't worked on it for a few weeks but I do have some code that
> can track changes on the GenericDelegator and then reverse them when
> requested.  At the moment it makes the test independent at the
> component level, mostly because the was the easiest place to do it. 
> I've tested it by exporting the data from a fresh install, running the
> tests, exporting again and comparing the differences and at the moment
> the only data that gets left behind is anything coming from async
> service calls.
> 
> I'll try and make some time for getting it to work at the test level
> over the next couple of days and then put a patch in jira for review. 
> Of course the problem with committing it is that a large percentage of
> the tests will fail because they depend on the tests that came before
> them.
> 
> Regards
> Scott
> 
> HotWax Media
> http://www.hotwaxmedia.com
> 801.657.2909
> 
> 
> ----- Original Message -----
> From: "Tim Ruppert" <[email protected]>
> To: [email protected]
> Sent: Saturday, March 7, 2009 1:13:26 PM GMT -07:00 US/Canada
> Mountain
> Subject: Re: how to write a test case
> 
> I've been a committer on a number of xxxUnit projects in the past and
> grew up as one of the people bringing the agile development processes
> to many different organizations, so I'd like to think that I'm pretty
> savvy on this stuff.  That being said, I've never been happy with the
> way the testing frameworks work in OFBiz - some because of my
> ignorance, but mostly because of the dependencies.  I've built code in
> a test-driven environment and let me just say that we had few bugs
> that weren't caught, so when people added stuff, we knew just about
> each and every time when there were side effects and were able to fix
> them quickly.
> 
> What I'd like to see sometime soon is something that works like this:
> 
> 1. Each test (note I did not say component or test suite or test
> group, I said test) is totally independent.
> 
> 2. Each test utilizes entity engine XML files to load the appropriate
> data necessary for that test.
> -- Sometimes this will mean loading the same or similar XML files a
> few times.
> -- That's ok :)
> 
> 3. Each test puts the db back in exactly the same state as it was
> before the test.
> -- I used to use DbUnit to do this in the past.
> -- Did this for both WebTest tests (functional) and normal JUnit
> tests.
> -- Worked like a charm.
> -- This should be even easier for us because the Entity Engine can
> keep track of all we do and roll it all back.
> -- I know that Scott Gray has been working with this for a bit - and
> it would be a HUGE win IMHO.
> 
> 4. Utilizing the Entity Engine for better testing.
> -- This is alluded to in #3 above about the roll backs.
> -- It would also be cool if it could keep track of all you and BUILD
> an entity engine XML file and save it if you like.
> -- -- This should be super easy as well.
> -- Then you could use these files you're generating in these tests for
> future tests.
> 
> Anyways, that's my wish list and something that if we start to get
> into place, I think we can build TONS of new unit tests around the
> existing work.  It will make each everyone's lives easier and the
> project even more viable long term.  Looking forward to feedback
> whenever you guys get a chance, but I really feel this is the way we
> should go.
> 
> Cheers,
> Tim
> --
> Tim Ruppert
> HotWax Media
> http://www.hotwaxmedia.com
> 
> o:801.649.6594
> f:801.649.6595
> 
> ----- "Vikas Mayur" <[email protected]> wrote:
> 
> > On Mar 7, 2009, at 2:01 AM, Adam Heath wrote:
> > 
> > > Vikas Mayur wrote:
> > >
> > >>> How did it work?  I reverted back to 660193, the last patch for
> > >>> OFBIZ-1790, and the accounting tests failed.
> > >>>
> > >>> If they worked in the past, I'd like to know when.  If so, then
> > that
> > >>> means something since then has caused them to break, and I will
> > more
> > >>> than gladly track that down.
> > >>>
> > >>> However, if they have never worked(which is what I'm strongly
> > >>> suspecting), then I stand by my original assessment.
> > >>>
> > >> Do not know why it is not working for you and I have no
> > idea/solution
> > >> for this.
> > >
> > > If you run the test individually, and follow the instructions in
> > the
> > > file, it'll probably work.
> > 
> > Yeah, I think so.
> > 
> > >
> > >
> > > However, that's not how things are done.
> > >
> > > All tests are run together.  Every testdef/*.xml file that is in
> > any
> > > ofbiz-component.xml is run one after the other, with no chance
> for
> > any
> > > manual setup between each test.
> > >
> > > In this circumstance, they do not work, and never did work.  It
> is
> > > this circumstance that an *automated* test case must work.
> > 
> > I do not know what is the point here to discuss same thing again and
> 
> > 
> > again. I agree to your point of making test automated and lot of  
> > people have complaint about
> > this in past but no one really come forward for the contribution.
> > 
> > Its really useless point to discuss on that these things in the
> trunk 
> > 
> > are making you frustrated because they are not written properly so
> why
> >  
> > not complain early in the process and not after a YEAR or so. Sorry 
> 
> > man, no time to look back and why not fix them by yourself if you
> see 
> > 
> > issues.

Reply via email to