Welcome to the JUnit Annotations tutorial! In this lesson, we'll dive into the world of testing in Java, focusing on the essential annotations that make JUnit powerful. By the end, you'll be able to write, run, and understand test cases for your Java projects. Let's get started! 📝
Annotations in Java are a way to add metadata to the Java code. They are used to provide additional information about the code, without changing its functionality. JUnit uses annotations to define test methods, test fixtures, and test runners.
JUnit provides several annotations that are crucial for writing test cases. Here, we'll cover the most important ones:
@Test@Before@After@BeforeClass@AfterClass@Test 💡The @Test annotation is used to mark a method as a test case. JUnit will run all the methods that are annotated with @Test.
import org.junit.Test;
public class CalculatorTest {
@Test
public void testAddition() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
Assert.assertEquals(5, result);
}
}In the example above, the testAddition method is a test case that tests the addition method of a Calculator class.
@Before and @After 💡The @Before and @After annotations are used to define setup and teardown methods for a test case. These methods are executed before and after every test case, respectively.
import org.junit.Before;
import org.junit.Test;
import org.junit.After;
public class CalculatorTest {
private Calculator calculator;
@Before
public void setup() {
calculator = new Calculator();
}
@Test
public void testAddition() {
int result = calculator.add(2, 3);
Assert.assertEquals(5, result);
}
@After
public void teardown() {
calculator = null;
}
}In the example above, the setup method is executed before each test case, and the teardown method is executed after each test case.
@BeforeClass and @AfterClass 💡The @BeforeClass and @AfterClass annotations are used to define setup and teardown methods for a test class. These methods are executed once before all test cases and once after all test cases, respectively.
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.AfterClass;
public class CalculatorTest {
private static Calculator calculator;
@BeforeClass
public static void setupClass() {
calculator = new Calculator();
}
@Test
public void testAddition() {
int result = calculator.add(2, 3);
Assert.assertEquals(5, result);
}
@AfterClass
public static void teardownClass() {
calculator = null;
}
}In the example above, the setupClass method is executed once before all test cases, and the teardownClass method is executed once after all test cases.
What is the purpose of the `@Test` annotation in JUnit?
pom.xml file if you're using Maven:<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency><dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>That's it for the JUnit Annotations tutorial! Now you're equipped to write powerful test cases for your Java projects. Happy coding! ✅