JUnit 5 چیست و برای چه کاری می توان از آن استفاده کرد؟

82
0
JUnit 5 چیست

آزمایش کد شما با چارچوبی مانند JUnit باعث آرامش خاطر می شود و روند کلی توسعه نرم افزار شما را بهبود می بخشد. JUnit 5 چیست؟

در توسعه نرم ‌افزار، تست واحد فرآیندی است که بخش‌های اختصاصی یک برنامه را جداسازی و آزمایش می‌کند. واحدها اصطلاح رسمی برای این بخش های اختصاصی هستند. در برنامه جاوا شما، یک واحد یک روش است.

چارچوب های تست واحد زیادی برای توسعه دهندگان جاوا وجود دارد. از جمله چارچوب های برتر JUnit 5 است.

چرا تست واحد مهم است؟

اگر تا به حال برنامه ی اشکال زدایی را برای چاپ و بررسی مقدار یک متغیر نوشته اید، به شما تبریک می گوییم. شما یک واحد تست ایجاد کرده اید. این بخش دور ریختنی کد ضروری بود زیرا شما خروجی مورد نظر را دریافت نمی کردید.

اما اگر خروجی مورد نظر را دریافت می‌ کردید و کد همچنان در جایی حاوی خطا بود، چه؟ ممکن است برنامه را مستقر کنید و این اشکال بعداً منجر به نقض امنیتی شود. برای برنامه‌هایی که داده‌های کاربران را ذخیره می‌کنند، زمانی که یک نقض امنیتی وجود دارد، ریسک بالاست.

تست واحد هر بخش از برنامه شما را هدف قرار می دهد، خواه در حال حاضر خطا ایجاد کند یا خیر. بنابراین، تست واحد نقش بسزایی در امنیت خوب نرم افزار ایفا می کند.

JUnit 5 چیست؟

JUnit 5 چیزی بیش از یک چارچوب تست واحد دیگر است. چندین پروژه فرعی دارد، یعنی JUnit Platform، JUnit Jupiter و JUnit Vintage. هر یک از این سه مؤلفه دارای ماژول های منحصر به فردی است که با هم کار می کنند تا آزمایش برنامه نویسان جاوا را بهبود بخشند.

پلتفرم JUnit 5 در آخرین نسخه از برترین پلتفرم های توسعه یکپارچه جاوا (IDE) موجود است. IDE های جاوا که JUnit 5 را پشتیبانی می کنند عبارتند از:

  • IntellJ IDEA
  • Eclipse
  • NetBeans
  • Visual Studio Code

ایجاد تست واحد با JUnit 5

این نمونه برنامه از JUnit 5 برای ایجاد چندین تست واحد در یک برنامه ماشین حساب ساده استفاده می کند.

کلاس ماشین حساب

package app;

public class Calculator {
public static int add(int num1, int num2) {
return num1 + num2;
}

public static int subtract(int num1, int num2) {
return num1 – num2;
}

public static int multiply(int num1, int num2) {
return num1 * num2;
}

public static int divide(int num1, int num2) {
return num1 / num2;
}
}

کلاس جاوا در بالا چهار عمل ثابت را انجام می دهد: جمع، تفریق، ضرب و تقسیم. هر متد دو آرگومان عدد صحیح می گیرد و یک عدد صحیح را برمی گرداند.

کلاس تست JUnit 5

package test;

import static org.junit.Assert.*;
import app.Calculator;
import org.junit.Test;

public class CalculatorTest {
@Test
public void testAdd() {
assertEquals(7, Calculator.add(3, 4));
}

@Test
public void testSubtract() {
assertEquals(6, Calculator.subtract(9, 3));
}

@Test
public void testMultiply() {
assertEquals(10, Calculator.multiply(5, 2));
}

@Test
public void testDivide() {
assertEquals(2, Calculator.divide(4, 2));
}
}

CalculatorTest دو مفهوم مهم را معرفی می کند: حاشیه نویسی Test@ و متد ()assertEquals. حاشیه نویسی @Test نشان می دهد که روش مستقیماً زیر آن یک روش آزمایشی است. در کلاس تست بالا چهار روش تست وجود دارد، یکی برای هر یک از عملیات ماشین حساب.

تمام روش های تست از متد ()assertEquals استفاده می کنند. این روش دو آرگومان اجباری و یک آرگومان سوم اختیاری می گیرد. اولین آرگومان داده شده به متد () assertEquals نتیجه مورد انتظار است و آرگومان دوم متد (یا واحدی) است که می خواهید ارزیابی کنید.

کلاس CalculatorTest متد اصلی ندارد، اما حاشیه ‌نویسی‌های JUnit @Test هر یک از روش‌های تست را قابل اجرا می‌کنند. اجرای کلاس CalculatorTest در eclipse اینترفیس زیر را ایجاد می کند:

همانطور که می بینید، هر آزمون موفقیت آمیز است. چهار تست وجود دارد و همه آنها بدون خطا یا شکست اجرا شدند.

آزمون واحد یادگیری می تواند فرصت های شغلی شما را گسترش دهد

به عنوان یک توسعه دهنده، دانستن چگونگی تست نرم افزار یک مهارت مفید است. مطمئناً گردش کار شما را بهبود می بخشد و امیدواریم استفاده از کد شما برای دیگران آسان تر شود. با این حال، شاخه ای از توسعه نرم افزار وجود دارد که صرفاً بر روی آزمایش تمرکز دارد. این مهندسان به تستر نرم افزار معروف هستند.

امتیاز این مطلب
سهیل دهقانی
نوشته شده توسط

سهیل دهقانی

علاقه مند به فناوری و تکنولوژی های روز دنیا کارشناس سئو و تولید محتوا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

گوگل فارکس آموزش تخصصی آمارکتس