JUnit 4 ו-JUnit 5 הם מסגרות שונות לחלוטין. שתי הם משרתים את אותה מטרה, אך ה-JUnit 5 הוא מסגרת בדיקה שונה לחלוטין שנכתבה מאפס. היא לא משתמשת בכלום מ-API של JUnit 4. כאן נבחן כיצד להגדיר את JUnit 4 ואת JUnit 5 בפרויקטי Maven שלנו.
תלותי Maven של JUnit
אם ברצונך להשתמש ב-JUnit 4, אז תצטרך תלות יחידה כפי שמופיע למטה.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
Junit 5 מחולקת למספר מודולים, תצטרך לפחות פלטפורמת JUnit ו-ג'ופיטר JUnit כדי לכתוב בדיקות ב-JUnit 5. כמו כן, שים לב ש-JUnit 5 דורשת Java 8 או גרסאות גבוהות יותר.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
אם ברצונך להריץ בדיקות עם פרמטרים, אז תצטרך להוסיף תלות נוספת.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
בדיקות JUnit במהלך בניית Maven
אם ברצונך שהבדיקות יתבצעו במהלך הבנייה של Maven, עליך להגדיר את תוסף maven-surefire-plugin
בקובץ ה-pom.xml שלך. JUnit 4:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.22.0</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
JUnit 5:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>src/test/java/</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
</plugins>
</build>
דיווחים HTML של JUnit
תוסף Maven surefire מייצר דיווחים בפורמט טקסט ו-XML, אנו יכולים ליצור דיווחים בפורמט HTML באמצעות maven-surefire-report-plugin
. התצורה למטה עובדת עבור JUnit 4 ו-JUnit 5.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
</plugin>
</plugins>
</reporting>
רק הריצו את הפקודה mvn site
והדיווח ה-HTML ייווצר בתיקיית target/site/
. זהו הכל לסיכום מהיר של הגדרת JUnit עבור פרויקטי Maven.
Source:
https://www.digitalocean.com/community/tutorials/junit-setup-maven