You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

In this tutorial we will dive into JUnit5 framework even more basing on simple Calculator project that will grow with us during tutorial.



Project Structure:

.
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── Calculator.java
    └── test
        └── java
            └── CalculatorTest.java

Our Calculator.java  look like this:

public class Calculator {

    static Double divide(Double a, Double b) {
        if (b != 0) {
            return a / b;
        }
        else{
            throw new ArithmeticException("Division by 0 is impossible!");
        }
    }

    public static void main(String[] args) {
        System.out.printf(Calculator.divide(8.0,2.0).toString());
    }

}

As you can see it has only divide() method, that checks if b is equal to 0. If it is, it throws an exception.

So let's write first simple test:

 @Test
    @DisplayName("Divide two finite numbers")
    void divideTest() {
	     
         final double EXPECTED = 4;
         final double ACTUAL = Calculator.divide(8.0,2.0);

        assertEquals(EXPECTED,ACTUAL);
    }

Okey, we see the assert word, but what is that?

1. Assertions 

Assertion is a statement in java. It can be used to test your assumptions about the program.

JUnit 5 assertions help in validating the expected output with actual output of a testcase. To keep things simple, all JUnit Jupiter assertions are static methods in the org.junit.jupiter.Assertions class. List of every possible assertions is here: https://junit.org/junit5/docs/5.7.2/api/org.junit.jupiter.api/org/junit/jupiter/api/Assertions.html

  • No labels