This tutorial explains the basic usage of JUnit 4 annotations. JUnit is the most popular Unit testing framework most widely used by the Java developers. After the release of Java 5.0 annotations, JUnit 4 has updated to support the annotation programming for the testing methods. Also it introduced @BeforeClass and @AfterClass methods which has to be declared as static methods. Look at the below example with annotations.
package javabeat.net.junit;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class JUnitTestExample {
private ArrayList<String> list;
@BeforeClass
public static void oneTimeSetUp() {
//Initialization code goes here
System.out.println("@BeforeClass");
}
@AfterClass
public static void oneTimeTearDown() {
//Release your resources here
System.out.println("@AfterClass");
}
@Before
public void setUp() {
list = new ArrayList<String>();
System.out.println("@Before - setup()");
}
@After
public void tearDown() {
list.clear();
System.out.println("@After - teardown()");
}
@Test
public void testEmptyCollection() {
assertTrue(list.isEmpty());
System.out.println("@Test Method 1");
}
@Test
public void testOneItemCollection() {
list.add("String1");
assertEquals("String1", list.get(0));
System.out.println("@Test Method 2");
}
}
If you run the above example, the output will be:
@BeforeClass @Before - setup() @Test Method 2 @After - teardown() @Before - setup() @Test Method 1 @After - teardown() @AfterClass