I need to execute a piece of code before each JUnit test method. To execute this piece of code, I use the SpringTest AbstractTestExecutionListener class and its child TransactionContextTestExecutionListener.
This is the code:
public class TransactionContextTestExecutionListener extends AbstractTestExecutionListener{ private static final Logger logger = Logger.getLogger(TransactionContextTestExecutionListener.class); @Override public void beforeTestMethod(TestContext testContext) throws Exception { Object ctx = testContext.getApplicationContext().getBean(Context.class); }
My JUnit class looks like this:
@ContextConfiguration(locations = "classpath:/META-INF/spring-test/tests-context.xml") @RunWith(SpringJUnit4ClassRunner.class) @TestExecutionListeners(TransactionContextTestExecutionListener.class) @Transactional public class SelectQueryBuilderTest {}
The problem is that the beforeTestMethod method is called only before the first execution of the Test Method. He is not called in front of everyone else.
Is there a configuration problem? Any idea?
thanks
vlcik source share