Q:

Why isn't @Before being called

In the following test class my test object doesn't get initialised because Before isn't being called.
Any ideas?
import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class CalcDateToolTest extends TestCase 
{
    DatesCalculator calc;

    @Before
    public void initialize() {
        System.out.println("Before");
        calc = new DatesCalculator("15/06/2013", "30/06/2013");
    }

    @Test
    public void testCalcDayDiff() {
        assertEquals(true, calc.getFromDate());
    }

    @After
    public void destroy() {
        calc = null;
    }
}

A:

Remove extends TestCase from your code.
Eg : 
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class CalcDateToolTest {
    DatesCalculator calc;

    @Before
    public void initialize() {
        System.out.println("Before");
        calc = new DatesCalculator("15/06/2013", "30/06/2013");
    }

    @Test
    public void testCalcDayDiff() {
        assertEquals(true, calc.getFromDate());
    }

    @After
    public void destroy() {
        calc = null;
    }
}

