JUnit - Executing Tests

The test cases are executed using JUnitCore class. JUnitCore is a facade for running tests. It supports running JUnit 4 tests, JUnit 3.8.x tests, and mixtures.
To run tests from the command line, run java org.junit.runner.JUnitCore <TestClass>. For one-shot test runs, use the static method runClasses(Class[]).
Following is the declaration for org.junit.runner.JUnitCore class:
public class JUnitCore extends java.lang.Object
Here we will see how to execute the tests with the help of JUnitCore.

Create a Class

Create a java class to be tested, say, MessageUtil.java in the workspace.
/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message){
      this.message = message;
   }
      
   // prints the message
   public String printMessage(){
      System.out.println(message);
      return message;
   }   
 
}

Create Test Case Class

  • Create a java test class, say, TestJunit.java.
  • Add a test method testPrintMessage() to your test class.
  • Add an Annotaion @Test to the method testPrintMessage().
  • Implement the test condition and check the condition using assertEquals API of JUnit.
Create a java class file named TestJunit.java
public class TestJunit {
 
   String message = "Hello World"; 
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      assertEquals(message,messageUtil.printMessage());
   }
}

Create Test Runner Class

Now create a java class file named TestRunner.java to execute test case(s).
It imports the JUnitCore class and uses the runClasses() method that takes the test class name as its parameter.
public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);
  
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
  
      System.out.println(result.wasSuccessful());
   }
}
Now run the Test Runner, which will run the test case defined in the provided Test Case class.
Verify the output.
Hello World
true















No comments:

Post a Comment