Notice: file_put_contents(): Write of 5330 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 16384 of 21714 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
جاواپرو | برنامه نویسی جاوا | Java@javapro_ir P.4693
JAVAPRO_IR Telegram 4693
📘نوشتن Unit Test در Java با استفاده از JUnit

نوشتن آزمون‌های واحد (Unit Test) یکی از مهم‌ترین مراحل در توسعهٔ نرم‌افزار است که به برنامه‌نویسان امکان می‌دهد صحت عملکرد بخش‌های مختلف کد را به‌صورت مستقل ارزیابی کنند. فریم‌ورک JUnit یکی از پرکاربردترین ابزارهای آزمون‌نویسی در زبان Java است و با فراهم‌کردن ساختار استاندارد، اجرای تست‌ها را بسیار ساده می‌کند.

۱. ساختار کلی یک Unit Test در JUnit

هر تست معمولاً شامل سه مرحلهٔ اصلی است:

1. آماده‌سازی (Arrange): ایجاد ورودی‌ها و اشیای مورد نیاز.
2. اقدام (Act): فراخوانی تابع یا کلاس مورد نظر.
3. ارزیابی (Assert): بررسی خروجی و اطمینان از صحت عملکرد.

JUnit از annotation‌ها برای مشخص‌کردن نقش هر متد استفاده می‌کند. متداول‌ترین آن‌ها عبارتند از:

@Test برای علامت‌گذاری یک متد تست
@BeforeEach برای عملیات قبل از هر تست
@AfterEach برای عملیات پاک‌سازی پس از هر تست

۲. مثال ساده از یک کلاس و تست‌های آن

در ادامه کلاسی به نام Calculator تعریف می‌کنیم که یک تابع جمع دارد. سپس یک تست واحد برای آن خواهیم نوشت.

مثال: کلاس اصلی

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}


مثال: نوشتن تست با JUnit

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class CalculatorTest {

    @Test
    public void testAddition() {
        Calculator calculator = new Calculator();
        int result = calculator.add(5, 7);
        assertEquals(12, result);
    }
}


در این مثال، ابتدا شیء کلاس Calculator ساخته می‌شود. سپس متد add با ورودی‌های مشخص فراخوانی می‌گردد و نتیجهٔ حاصل با مقدار مورد انتظار مقایسه می‌شود. در صورتی‌که خروجی برابر با مقدار مورد انتظار نباشد، تست شکست خواهد خورد.

۳. استفاده از Annotationهای تکمیلی

گاهی لازم است قبل از اجرای هر تست، یک شیء اولیه‌سازی شود. در این حالت از @BeforeEach استفاده می‌کنیم. این کار باعث جلوگیری از تکرار کد نیز می‌شود.

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class CalculatorTest {

    private Calculator calculator;

    @BeforeEach
    public void setUp() {
        calculator = new Calculator();
    }

    @Test
    public void testAddition() {
        int result = calculator.add(10, 20);
        assertEquals(30, result);
    }

    @Test
    public void testAdditionWithNegativeNumbers() {
        int result = calculator.add(-5, -8);
        assertEquals(-13, result);
    }
}


در این نمونه، مقداردهی شیء calculator تنها یک‌بار قبل از هر تست انجام می‌شود، و هر تست مستقل از تست دیگر اجرا می‌گردد.

۴. اهمیت Assertها در JUnit

JUnit مجموعه‌ای از متدهای Assert را ارائه می‌دهد که امکان ارزیابی دقیق خروجی‌ها را فراهم می‌کنند. برای مثال:

assertEquals(expected, actual)
assertTrue(condition)
assertThrows(exceptionType, executable)

با استفاده از assertThrows می‌توانیم عملکرد صحیح برنامه در پاسخ به ورودی‌های نامعتبر را بررسی کنیم:

@Test
public void testDivisionByZero() {
    assertThrows(ArithmeticException.class, () -> {
        int x = 10 / 0;
    });
}


۵. نتیجه‌گیری

آزمون‌نویسی با JUnit روشی استاندارد و قابل اعتماد برای تضمین کیفیت کد است. با تعریف تست‌های واحد، توسعه‌دهنده می‌تواند ایرادهای احتمالی را در همان مراحل اولیه تشخیص دهد و از ایجاد خطاهای پیچیده در آینده جلوگیری کند. استفادهٔ صحیح از Annotationها، Assertها و ساختار مناسب تست‌ها، موجب افزایش پایداری، خوانایی و قابلیت نگه‌داری کد خواهد شد.
#کاربرـحرفهـای


🆔 @javapro_ir
🆔 @group_javapro
👍42



tgoop.com/javapro_ir/4693
Create:
Last Update:

📘نوشتن Unit Test در Java با استفاده از JUnit

نوشتن آزمون‌های واحد (Unit Test) یکی از مهم‌ترین مراحل در توسعهٔ نرم‌افزار است که به برنامه‌نویسان امکان می‌دهد صحت عملکرد بخش‌های مختلف کد را به‌صورت مستقل ارزیابی کنند. فریم‌ورک JUnit یکی از پرکاربردترین ابزارهای آزمون‌نویسی در زبان Java است و با فراهم‌کردن ساختار استاندارد، اجرای تست‌ها را بسیار ساده می‌کند.

۱. ساختار کلی یک Unit Test در JUnit

هر تست معمولاً شامل سه مرحلهٔ اصلی است:

1. آماده‌سازی (Arrange): ایجاد ورودی‌ها و اشیای مورد نیاز.
2. اقدام (Act): فراخوانی تابع یا کلاس مورد نظر.
3. ارزیابی (Assert): بررسی خروجی و اطمینان از صحت عملکرد.

JUnit از annotation‌ها برای مشخص‌کردن نقش هر متد استفاده می‌کند. متداول‌ترین آن‌ها عبارتند از:

@Test برای علامت‌گذاری یک متد تست
@BeforeEach برای عملیات قبل از هر تست
@AfterEach برای عملیات پاک‌سازی پس از هر تست

۲. مثال ساده از یک کلاس و تست‌های آن

در ادامه کلاسی به نام Calculator تعریف می‌کنیم که یک تابع جمع دارد. سپس یک تست واحد برای آن خواهیم نوشت.

مثال: کلاس اصلی

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}


مثال: نوشتن تست با JUnit

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class CalculatorTest {

    @Test
    public void testAddition() {
        Calculator calculator = new Calculator();
        int result = calculator.add(5, 7);
        assertEquals(12, result);
    }
}


در این مثال، ابتدا شیء کلاس Calculator ساخته می‌شود. سپس متد add با ورودی‌های مشخص فراخوانی می‌گردد و نتیجهٔ حاصل با مقدار مورد انتظار مقایسه می‌شود. در صورتی‌که خروجی برابر با مقدار مورد انتظار نباشد، تست شکست خواهد خورد.

۳. استفاده از Annotationهای تکمیلی

گاهی لازم است قبل از اجرای هر تست، یک شیء اولیه‌سازی شود. در این حالت از @BeforeEach استفاده می‌کنیم. این کار باعث جلوگیری از تکرار کد نیز می‌شود.

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class CalculatorTest {

    private Calculator calculator;

    @BeforeEach
    public void setUp() {
        calculator = new Calculator();
    }

    @Test
    public void testAddition() {
        int result = calculator.add(10, 20);
        assertEquals(30, result);
    }

    @Test
    public void testAdditionWithNegativeNumbers() {
        int result = calculator.add(-5, -8);
        assertEquals(-13, result);
    }
}


در این نمونه، مقداردهی شیء calculator تنها یک‌بار قبل از هر تست انجام می‌شود، و هر تست مستقل از تست دیگر اجرا می‌گردد.

۴. اهمیت Assertها در JUnit

JUnit مجموعه‌ای از متدهای Assert را ارائه می‌دهد که امکان ارزیابی دقیق خروجی‌ها را فراهم می‌کنند. برای مثال:

assertEquals(expected, actual)
assertTrue(condition)
assertThrows(exceptionType, executable)

با استفاده از assertThrows می‌توانیم عملکرد صحیح برنامه در پاسخ به ورودی‌های نامعتبر را بررسی کنیم:

@Test
public void testDivisionByZero() {
    assertThrows(ArithmeticException.class, () -> {
        int x = 10 / 0;
    });
}


۵. نتیجه‌گیری

آزمون‌نویسی با JUnit روشی استاندارد و قابل اعتماد برای تضمین کیفیت کد است. با تعریف تست‌های واحد، توسعه‌دهنده می‌تواند ایرادهای احتمالی را در همان مراحل اولیه تشخیص دهد و از ایجاد خطاهای پیچیده در آینده جلوگیری کند. استفادهٔ صحیح از Annotationها، Assertها و ساختار مناسب تست‌ها، موجب افزایش پایداری، خوانایی و قابلیت نگه‌داری کد خواهد شد.
#کاربرـحرفهـای


🆔 @javapro_ir
🆔 @group_javapro

BY جاواپرو | برنامه نویسی جاوا | Java


Share with your friend now:
tgoop.com/javapro_ir/4693

View MORE
Open in Telegram


Telegram News

Date: |

Telegram Channels requirements & features Healing through screaming therapy Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation. ZDNET RECOMMENDS
from us


Telegram جاواپرو | برنامه نویسی جاوا | Java
FROM American