درس 10 از 33
در حال پیشرفت

نوشتن برنامه به کمک تست (TDD)

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

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

افزودن وابستگی JUnit به پروژه

ابتدا باید JUnit را به پروژه خود اضافه کنید. برای این کار، فقط کافیه وابستگی (dependency) مربوط به JUnit رو به فایل pom.xml اضافه کنید.

مثال برای JUnit 5:

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

				
			

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

نکته: برای ورژن های بالاتر به این لینک مراجعه کنید، و dependency مورد نظر خود را کپی و سپس بین تگ های
<dependencies>
<dependencies/>
ذخیره کنید.

نکته: در وابستگی بالا <scope>test</scope> به این معناست که این dependency فقط در قسمت تست استفاده شود و در کد اصلی ما نمیخواهیم از این وابستگی استفاده کنیم.

نوشتن تست در IntelliJ

در قسمت Test یک کلاس به نام CalculatorTest می‌سازیم.

سپس با فشردن همزمان Alt + Insert از منوی باز شده گزینه اول Test Method را انتخاب می‌کنیم و متدی به نام add برای جمع دو عدد می‌سازیم.

یک متد @Test بنویس که جمع دو عدد رو بررسی می‌کنه:

				
					public class CalculatorTest {

    @Test
    public void testAddition() {
        // منطق جمع مستقیم در تست
        int a = 2;
        int b = 3;
        int result = a + b;

        // بررسی اینکه نتیجه درست باشه
        assertEquals(5, result, "جمع دو عدد اشتباه است!");
    }

				
			

نکته: assertEquals این متد بررسی می‌کنه که نتیجه حاصل از عملیات با مقدار مورد انتظار برابر باشه.

نکته: پیام خطا اختیاریه یعنی اگر تست شکست بخوره، پیام خطای مشخصی (مثل “جمع دو عدد اشتباه است!”) نمایش داده میشه یا  اینکه میتونی چیزی نذاری!