@After ,@before not working in testcase
java, junit, testcase
Solution
The `AbstractTransactionalDataSourceSpringContextTests` class forces the use of the old JUnit 3.x syntax, which means that any of the JUnit 4 annotation will not work.
Your method `runBare()` is executed not because of the `@Before` annotation, but because it is named `runBare()`, which is a method provided by `ConditionalTestCase` and JUnit `TestCase` class.
So you have 2 solutions:
- Use the AlexR answer to use JUnit 4 tests and Spring;
- Keep your inheritance of `AbstractTransactionalDataSourceSpringContextTests`, but use the `onSetUp` and `onTearDown` methods instead of the `@Before` and `@After` methods.
Problem
I have started testing and now i want to use `@After`, `@Before` and `@Test` but my application only runs the `@Before` method and gives output on console before However, if I remove `@After` and `@Before` it runs the @Test. My code is here: ``` public class TestPractise extends AbstractTransactionalDataSourceSpringContextTests{ @Before public void runBare(){ System.out.println("before"); } @Test public void testingMethod(){ System.out.println("testing"); } @After public void setDirty(){ System.out.println("after"); } } ``` Why aren't `@After`, `@Test` and `@before` working simultaneously?