JUnit 4 و JUnit 5 هما إطارات عمل تمامًا مختلفتان. كلاهما يخدم نفس الهدف، ولكن JUnit 5 هو إطار اختبار تم تطويره بالكامل من البداية. لا يتم استخدام أي شيء من واجهات برمجة التطبيقات (APIs) في 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 Platform و JUnit Jupiter لكتابة الاختبارات في 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