0
0
JunitHow-ToBeginner ยท 3 min read

How to Add JUnit Dependency in Maven for Testing

To add JUnit dependency in Maven, include the <dependency> block for JUnit inside your pom.xml file under <dependencies>. Use the latest JUnit version and specify the scope as test to ensure it is only used during testing.
๐Ÿ“

Syntax

The JUnit dependency is added inside the <dependencies> section of your pom.xml file. It includes the groupId, artifactId, version, and scope. The scope is usually set to test so that JUnit is only available during test runs.

xml
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>5.9.3</version>
  <scope>test</scope>
</dependency>
๐Ÿ’ป

Example

This example shows a minimal pom.xml snippet with the JUnit 5 dependency added. It enables you to write and run unit tests using JUnit Jupiter in your Maven project.

xml
<?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>com.example</groupId>
  <artifactId>demo-project</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>5.9.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0</version>
      </plugin>
    </plugins>
  </build>
</project>
Output
Tests run successfully using JUnit 5 with Maven Surefire Plugin.
โš ๏ธ

Common Pitfalls

  • Forgetting to set the scope to test can bloat your final build with test libraries.
  • Using an outdated JUnit version may cause compatibility issues; always use the latest stable version.
  • Not including the Maven Surefire Plugin can prevent tests from running automatically.
  • Mixing JUnit 4 and JUnit 5 dependencies can cause conflicts; prefer JUnit 5 for new projects.
xml
<!-- Wrong: Missing scope, old version -->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

<!-- Right: Latest JUnit 5 with test scope -->
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter</artifactId>
  <version>5.9.3</version>
  <scope>test</scope>
</dependency>
๐Ÿ“Š

Quick Reference

Remember these key points when adding JUnit to Maven:

  • Use org.junit.jupiter groupId for JUnit 5.
  • Set scope to test.
  • Include Maven Surefire Plugin to run tests.
  • Keep JUnit version updated.
โœ…

Key Takeaways

Add JUnit dependency inside in pom.xml with scope set to test.
Use the latest JUnit 5 version for modern features and compatibility.
Include Maven Surefire Plugin to enable running tests during build.
Avoid mixing JUnit 4 and 5 dependencies to prevent conflicts.
Always verify your pom.xml syntax to ensure Maven builds correctly.