@Test annotation is used to signal that the annotated method is a test method.
Following are the constraints on @Test methods.
a. Methods must not be private or static
b. Methods must not return a value.
Example
@Test
void testSuccessScenario() {
assertEquals(5, 2 + 3, "Sum of 2 and 3 is not equal to 5");
}
Find the below working application.
TestAnnotationDemo.java
package com.sample.app;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
public class TestAnnotationDemo {
@Test
void testSuccessScenario() {
assertEquals(5, 2 + 3, "Sum of 2 and 3 is not equal to 5");
}
@Test
void testFailureScenario() {
assertTrue(false);
}
}
When you run above class as Junit Test, you will see the test case ‘testSuccessScenario’ is passed and ‘testFailureScenario’ is failed.
Can I create meta annotations using @Test annotation?
Yes, you can create a custom composed annotation using @Test annotation that inherits the semantics of @Test annotation. You can see more about this in meta annotation section.
Can a test method declare parameters?
Yes a test method can optionally declare parameters, those are resolved by org.junit.jupiter.api.extension.ParameterResolver. You can see more about this in ParameterResolver section.
Can I customize the test execution order?
Yes, you can customize the test execution order using @TestMethodOrder annotation.
You can download complete working application from this link.
https://github.com/harikrishna553/junit5/tree/master/junit5-examples
Previous Next Home
No comments:
Post a Comment