@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?

Original source

Related problems