Re: Bug or misunderstanding?
"Baptiste Lepilleur" <[email protected]> Tue, 7 Jan 2003 10:38:34 +0100
| Newsgroups | gmane.comp.lib.cppunit.devel |
|---|---|
| Organization | Gaia Creation |
| Message-ID | <002e01c2b630$8da23ae0$7bc3c3d4@gaia> |
----- Original Message ----- From: "Duane Murphy" <[email protected]> To: <Sebastian.Unger-VauGlhdcN0kbaKI5Sqam5EEOCMrvLtNR@public.gmane.org>; "CppUnit Developers" <[email protected]> Sent: Friday, December 20, 2002 12:00 AM Subject: Re: [Cppunit-devel] Bug or misunderstanding? > --- At Fri, 20 Dec 2002 11:45:45 +1300, > Sebastian.Unger-VauGlhdcN0kbaKI5Sqam5EEOCMrvLtNR@public.gmane.org wrote: > > >Hi, > > > >I'm just starting on a new project and we are going to use CppUnit as a > >framework for our tests. Right now I'm working on the UI part of the > >application and so I started out with creating a Fixture that contains a > >UserInterface object as a member and has a static suite() function just as > >described in the CookBook. The suite creates two (for now) TestCallers and > >pass in test methods of the fixture. I expected one Fixture (and therefor > >one UserInterface) to be created and that all the testmethods are called on > >this one object (framed by calles to setUp() and tearDown() which reset the > >UI object to a > >known state.) > > > >However, it turned out that for each TestCaller instantiated one Fixture > >was instantiated and the testmethods were each called on a different > >Fixture object. This resulted in multiple UI objects to be created and > >since they create threads each calling a display driver which only expects > >calls from one UI at a time ..... I think you can imagine ... > > > >My understanding came from the following text from the CookBook: > > > >"Ordinarily, you'll have many little test cases that you'll want to run on > >the same set of objects. To do this use a fixture. [...] A fixture is > >a known set of objects that serves as a base for a set of test cases." > > > > > >Now my question is: Am I doing something wrong or is this a bug in CppUnit > >or is this intended behaviour (in which case I think the docu should be > >updated.)? > > > >Also if this is intended, can you give me just a pointer on how to do this > >kind of thing? Should I subclass TestSuite and keep the persistent objects > >there? > > Others that work on CppUnit can speak up for why it is this way. I have > long considered this a bug. CppUnit likes calling new() :-). They > instiate a new Fixture() for each test case. You will have to work around > it somehow. This is a normal behavior. It provides maximum isolation between each test case of the fixture. As far as I know JUnit behave the same way. > CppUnit likes calling new() :-). What do you mean ? Baptiste. [...] > ...Duane ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com