From: Timothy W. <tw...@us...> - 2006-11-04 13:54:00
|
On Nov 4, 2006, at 7:59 AM, Steven Buroff wrote: > > Thank you. And thanks for your help as I was learning abbot. > I currently use abbot without subclassing ComponentTestFixture > and in conjunction with testng rather than junit. > It seems to work fine but I'm wondering if I'm missing > something that may bite me later. Here is what I did. > 1) I created a class ExtComponentTestFixture that does > nothing except make all the protected methods public. > 2) In my test file in a @BeforeClass method, I create a > ExtComponentTestFixture and call its fixtureSetup() > method. > 3) In each test I use my ExtComponentTestFixture object > to get my finders, etc. > 4) At the end of each test I call disposeAll(). > 5) In an @AfterClass method I call fixtureTearDown. > > As I say, this is working for simple tests. Am I missing anything > that might cause me trouble in the future? Thanks again for > your help. > > Steve Sounds right to me. I'll grant that it's a bit clunky, and it would make sense to refactor ComponentTestFixture to simply be a shell that uses a helper object. One of the things CompoenntTestFixture provides is auto-nulling of XXXTester and Component field instances within the fixture itself, although that could probably be covnerted to a helper method which accepts the object to be cleared. This was required for JUnit, since most (all?) runners keep all test instances in memory, which can really suck UI resources. You just want to make sure that your test is no longer referencing any Component instances (Window or otherwise) when it finishes. One other thing handled by the ComponentTestFixture is catching EDT exceptions and making them show up as test failures. Some of the setup/teardown is already in helper classes (AWTFixtureHelper and SystemState). If anyone's willing to refactor to make things more elegant/ functional for non-junit testing, feel free to suggest improvements. T. |