Test runner is used for executing the test cases.
Example:
DivisionTestCase.java
import com.w3schools.business.*; import static org.junit.Assert.*; import org.junit.Test; /** * This is test case class for division method. * @author w3schools */ public class DivisionTestCase { //DivisionTest class objects DivisionTest divisionTest1 = new DivisionTest(10, 2); DivisionTest divisionTest2 = new DivisionTest(10, 0); //Test case for division @Test public void test() { assertEquals(5, divisionTest1.division()); } //Test case for expected ArithmeticException, //As in this case ArithmeticException // is the expected exception so //JUnit will pass this unit test. @Test(expected = ArithmeticException.class) public void testException() { assertEquals(5, divisionTest2.division()); } } |
DivisionTest.java
/** * This is simple java class containing division method. * @author w3schools */ public class DivisionTest { //data members int num1, num2; //parameterised constructor public DivisionTest(int num1, int num2){ this.num1 = num1; this.num2 = num2; } //division method public int division() throws ArithmeticException{ return num1/num2; } } |
TestRunner.java
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; /** * This is a test runner class. * @author w3schools */ public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(DivisionTestCase.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } } |
Output:
true |
Download this example.
Previous Topic: JUnit parameterized test.