-
Jun 27th, 2006, 04:42 AM
#1
Extending AbstractTransactionalSpringContextTests for ddsteps
Hello folks,
I’m trying to use springs’ AbstractTransactionalSpringContextTests related with the ddsteps junit extension (www.ddsteps.org). Finally I want to receive the test data for test cases from excel sheets and encase transaction around the test methods (for automatically rollbacks).
I’ve following design problem:
To do this I have to extend the class DDStepsSpringTestCase. This class inherits themselves from AbstractDependencyInjectionSpringContextTests. To use transaction functionally I have to extend the class AbstractTransactionalSpringContextTests too. This is not possible.
My currently solution extends DDStepsSpringTestCase and delegates calls to setUpMethod and tearDownMethod to a member of the type AbstractTransactionalSpringContextTestsWrapper.
This type wraps AbstractTransactionalSpringContextTests and enhanced the visibility of the protected final onSetUp and onTearDown methods of the AbstractTransactionalSpringContextTests class:
public class AbstractTransactionalSpringContextTestsWrapper extends
AbstractTransactionalSpringContextTests
…
public void startTransaction() throws Exception
{
this.onSetUp();
}
public void finishTransaction() throws Exception
{
this.onTearDown();
}
The AbstractTransactionalSpringContextTestsWrapper is used as followed:
public abstract class DDStepsTransactionalSpringContextTests extends DDStepsSpringTestCase implements TransactionalSpringContextTestsCallback
{
AbstractTransactionalSpringContextTestsWrapper transactionalContext = new AbstractTransactionalSpringContextTestsWrapper(thi s);
public final void setUpMethod() throws Exception
{
// delegates the setUp to transactionalContext to start the transaction
transactionalContext.startTransaction();
}
…
Is this the “best” solution or do you have a better idea? Or would you simple copy the functionality of the onSetUp and onTearDown of the AbstractTransactionalSpringContextTests class?
Would this code duplication be ok?
Cheers
Martin
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules