Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

What is JUnit 5?

JUnit is one of the most popular unit-testing frameworks in the Java ecosystem.

...

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>JUnit5_Overview<</artifactId>
    <version>1.0-SNAPSHOT</version>

// This is depedency that we need to add to usew JUnit5 in our project
    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.7.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>


// This plugins enables running tests from shell
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M1</version>
            </plugin>
        </plugins>
    </build>

</project>


Maven Surefire Plugin is used during the test phase of the build lifecycle to execute the unit tests of an application. It can be used with JUnit, TestNG or other testing frameworks. 

By default, the Surefire Plugin will automatically include all test classes with the following wildcard patterns, and execute them as unit tests:

Pattern
Description
**/Test*.java
Includes all of its subdirectories and all Java filenames that start with “Test”.
**/*Test.java
Includes all of its subdirectories and all Java filenames that end with “Test”.
**/*Tests.java
Includes all of its subdirectories and all Java filenames that end with “Tests”.
**/*TestCase.java
Includes all of its subdirectories and all Java filenames that end with “TestCase”.

main / test folders

Inside Overview/src  folder you can see two subfolders:

...