JUnit Testing with Intellij IDE

Image: www.wikipedia.org


This is Intellij IDE JUnit Testing tutorial. You can refer to (Java Unit Testing with JUnit ) for original.

For this unit testing, I have created new project, no libraries, no template.
  1. Create new directory "test", right click on project > add > directory.
  2. Mark the directory as test sources root.
  3. Create Calculator class, the class is created as , right click on project > add > java class.
    paste the code

    public class Calculator{
    
        // default values
        double p = 0.0;
        double t = 0.0;
        double r = 0.0;
    
        // constructor that updates the values
        public Calculator(double p, double t, double r){
            this.p = p;
            this.t = t;
            this.r = r;
        }
    
        // method that calculates the interest
        public double calculateInterest(){
            return p*t*r / 100;
        }
    }
    
  4. Create test class for Calculator, press alt & enter on class name > create test.

    Configure JUnit like as this
    Fix and download library
    And the newly created testClass (CalculatorTest) will look like this 
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    import static org.junit.Assert.*;
    
    public class CalculatorTest {
    
        Calculator calculator = null;
    
        // values for your test case
        double p = 10000.0;
        double t = 1.0;
        double r = 10.0;
    
        @Before
        public void setUp() throws Exception {
            calculator = new Calculator(p, t, r);
        }
    
        @After
        public void tearDown() throws Exception {
        }
    
        @Test
        public void calculateInterest() {
            assertEquals(1000.0, calculator.calculateInterest(), 0.0);
        }
    }
    
  5. Create a TestRunner class inside test directory. This will be our entry point to perform all test, paste.

    import org.junit.runner.JUnitCore;
    import org.junit.runner.Result;
    import org.junit.runner.notification.Failure;
    
    public class TestRunner{
    
        public static void main(String[] str){
    
            // Run test classes and grab result
            Result result = JUnitCore.runClasses(CalculatorTest.class);
    
            // Test result
            System.out.println(result.wasSuccessful());
    
            // print the failure message if failure
            for(Failure failure : result.getFailures()){
                // print string
                System.out.println(failure.toString());
            }
    
        }
    }
    
  6. Yey, test success.
References:
  1. https://www.jetbrains.com/help/idea/configuring-testing-libraries.html

Comments

Popular Posts