Unit Test তৈরি এবং চালানো

IntelliJ IDEA তে Unit Testing - ইন্টেলিজ আইডিয়া f(Intellij Idea) - Java Technologies

283

Unit Test হল একটি সফটওয়্যার টেস্টিং পদ্ধতি যেখানে কোডের ছোট ছোট অংশ (যেমন মেথড বা ক্লাস) পৃথকভাবে টেস্ট করা হয়। Java প্রোগ্রামিংয়ে JUnit একটি জনপ্রিয় টেস্টিং ফ্রেমওয়ার্ক যা unit test তৈরির জন্য ব্যবহৃত হয়। IntelliJ IDEA তে JUnit Test তৈরি এবং চালানোর জন্য নিম্নলিখিত ধাপগুলো অনুসরণ করতে পারেন।


1. IntelliJ IDEA তে Unit Test তৈরি করা

A. JUnit ফ্রেমওয়ার্ক ইনস্টল করা

প্রথমে, আপনার প্রোজেক্টে JUnit ফ্রেমওয়ার্ক যোগ করতে হবে। JUnit 5 সাধারণত এখনকার আধুনিক টেস্টিং ফ্রেমওয়ার্ক, তবে আপনি আপনার প্রোজেক্টের জন্য JUnit 4-ও ব্যবহার করতে পারেন।

Maven প্রোজেক্টে JUnit 5 ডিপেনডেন্সি যোগ করা:

আপনার 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>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.7.0</version>
        <scope>test</scope>
    </dependency>
</dependencies>
Gradle প্রোজেক্টে JUnit 5 ডিপেনডেন্সি যোগ করা:

আপনার build.gradle ফাইলে JUnit 5 ডিপেনডেন্সি যোগ করুন:

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'

B. Unit Test ক্লাস তৈরি করা

  1. IntelliJ IDEA তে আপনার Java ক্লাস এর জন্য টেস্ট ক্লাস তৈরি করতে হবে।
  2. ক্লাসের উপর ডান-ক্লিক করুন এবং Generate > Test সিলেক্ট করুন।
  3. আপনি টেস্ট ক্লাসের জন্য যেখানে JUnit 5 বা JUnit 4 নির্বাচন করতে পারবেন।
  4. Test class name দিন এবং Create ক্লিক করুন।

উদাহরণস্বরূপ, যদি আপনার একটি Calculator ক্লাস থাকে, যা যোগফল হিসাব করে, তাহলে আপনি তার জন্য একটি unit test তৈরি করবেন।

Calculator.java (Main Class):

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

CalculatorTest.java (JUnit Test Class):

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

public class CalculatorTest {

    @Test
    public void testAdd() {
        Calculator calculator = new Calculator();
        int result = calculator.add(2, 3);
        assertEquals(5, result, "The add method should return the correct sum");
    }
}

Explanation:

  • @Test: এই অ্যানোটেশন JUnit ফ্রেমওয়ার্ককে জানায় যে এটি একটি টেস্ট মেথড।
  • assertEquals(expected, actual): এটি পরীক্ষার ফলাফল নিশ্চিত করার জন্য ব্যবহৃত হয়। expected হল আপনার প্রত্যাশিত ফলাফল, এবং actual হল মেথডের রিটার্ন মান।
  • Calculator.add(): এখানে আপনার মূল মেথডটিকে টেস্ট করা হচ্ছে।

2. Unit Test চালানো

IntelliJ IDEA তে JUnit Test চালানোর জন্য কয়েকটি পদ্ধতি রয়েছে:

A. Run Test Using the IDE

  1. Test class বা Test method এর উপর ডান-ক্লিক করুন।
  2. Run 'TestName' সিলেক্ট করুন।

    Alternatively, আপনি Shift + F10 দিয়ে সব টেস্ট রান করতে পারেন।

B. Run All Tests in the Project

  1. Run মেনু থেকে Run 'All Tests' সিলেক্ট করুন।
  2. এটি প্রোজেক্টের সমস্ত টেস্ট রান করবে।

C. Run from the Terminal (Command Line)

  • যদি আপনি Maven ব্যবহার করেন:

    mvn test
    
  • যদি আপনি Gradle ব্যবহার করেন:

    gradle test
    

3. Test Results এবং Coverage দেখতে

A. Test Results

  1. Run করার পর, IntelliJ IDEA একটি Run/Debug উইন্ডোতে আপনার টেস্টের ফলাফল দেখাবে।
  2. এখানে, আপনি দেখতে পারবেন কোন টেস্ট পাস হয়েছে এবং কোনটি ফেইল করেছে। ফেইল করা টেস্টের জন্য IntelliJ IDEA আপনাকে বিস্তারিত ত্রুটির বার্তা দেখাবে।

B. Code Coverage

  1. IntelliJ IDEA তে Code Coverage দেখতে, Run বাটনের পাশে Run with Coverage অপশন ব্যবহার করুন।
  2. এটি আপনাকে দেখাবে যে কোন অংশে টেস্ট কভারেজ নেই, এবং আপনি কোথায় আরও টেস্ট যোগ করতে পারেন।

4. JUnit 5 এর নতুন বৈশিষ্ট্য

JUnit 5 অনেক নতুন বৈশিষ্ট্য যুক্ত করেছে যা টেস্টিং আরও শক্তিশালী এবং নমনীয় করে তোলে:

  • @BeforeAll and @AfterAll: এগুলি ক্লাসের আগে এবং পরে একবার চালানোর জন্য ব্যবহৃত হয়।
  • @BeforeEach and @AfterEach: এগুলি প্রতিটি টেস্টের আগে এবং পরে চালানোর জন্য ব্যবহৃত হয়।
  • Parameterized Tests: টেস্টের জন্য একাধিক ইনপুট তৈরি করা।
  • Assertions: JUnit 5 তে অনেক নতুন assertion মেথড রয়েছে যেমন assertAll(), assertTimeout(), assertThrows() ইত্যাদি।

JUnit 5 এর উদাহরণ:

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class CalculatorTest {

    static Calculator calculator;

    @BeforeAll
    static void init() {
        calculator = new Calculator();
    }

    @BeforeEach
    void setUp() {
        // Setup code before each test
    }

    @Test
    public void testAdd() {
        int result = calculator.add(2, 3);
        assertEquals(5, result);
    }
}

JUnit Test তৈরি এবং চালানো IntelliJ IDEA তে খুবই সহজ। আপনি JUnit ফ্রেমওয়ার্ক ব্যবহার করে টেস্ট ক্লাস তৈরি করতে পারেন এবং IntelliJ IDEA এর মাধ্যমে Run, Debug এবং Coverage বিশ্লেষণ করতে পারবেন।

  • JUnit 5 তে কিছু শক্তিশালী নতুন ফিচার রয়েছে যেমন Parameterized Tests, Assertions, এবং Test Lifecycle অ্যানোটেশন।
  • Maven বা Gradle ব্যবহার করে টেস্ট কমান্ড রান করা যায় এবং IDE থেকে সরাসরি টেস্ট চালানো যায়।

এটি আপনার কোডের সঠিকতা নিশ্চিত করতে এবং দ্রুত সমস্যা সমাধানে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...