Unit Testing Frameworks (JUnit, TestNG) এর সাথে Kotlin

Testing এবং Debugging Kotlin Code - কটলিন (Kotlin) - Mobile App Development

340

Unit Testing Frameworks (JUnit, TestNG) এর সাথে Kotlin

Kotlin-এ ইউনিট টেস্টিং একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা কোডের কার্যকারিতা নিশ্চিত করে। Kotlin ব্যবহার করে ইউনিট টেস্ট লেখার জন্য জনপ্রিয় ফ্রেমওয়ার্কগুলি হল JUnit এবং TestNG। এই ফ্রেমওয়ার্কগুলির সাহায্যে আপনি সহজে আপনার কোডের বৈশিষ্ট্য এবং কার্যকারিতা পরীক্ষা করতে পারেন। নিচে Kotlin-এর সাথে JUnit এবং TestNG ব্যবহার করার প্রক্রিয়া নিয়ে আলোচনা করা হলো।


১. JUnit এর সাথে Kotlin

JUnit হলো একটি জনপ্রিয় টেস্টিং ফ্রেমওয়ার্ক যা Java এবং Kotlin উভয়ের জন্যই ব্যবহার করা হয়। Kotlin এর সাথে JUnit ব্যবহারের জন্য নিম্নলিখিত ধাপগুলি অনুসরণ করুন।

i) JUnit Dependency সেটআপ

আপনার build.gradle ফাইলে JUnit 5 অন্তর্ভুক্ত করুন:

dependencies {
    testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.0"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.0"
}

ii) Kotlin ক্লাসের জন্য টেস্ট লেখা

class Calculator {
    fun add(a: Int, b: Int): Int {
        return a + b
    }
}

টেস্ট ক্লাস:

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

class CalculatorTest {

    private val calculator = Calculator()

    @Test
    fun testAdd() {
        val result = calculator.add(2, 3)
        assertEquals(5, result)
    }
}

ব্যাখ্যা:

  • এখানে Calculator ক্লাসের জন্য একটি টেস্ট ক্লাস CalculatorTest তৈরি করা হয়েছে। @Test অ্যানোটেশন ব্যবহার করে testAdd ফাংশনকে টেস্ট মেথড হিসাবে চিহ্নিত করা হয়েছে।

২. TestNG এর সাথে Kotlin

TestNG হল আরেকটি জনপ্রিয় টেস্টিং ফ্রেমওয়ার্ক যা জাভাতে তৈরি করা হয়েছে, তবে এটি Kotlin-এর জন্যও সমর্থিত। TestNG এর মাধ্যমে আপনি ডেটা ড্রিভেন টেস্ট, গ্রুপিং টেস্ট, এবং প্যারালাল টেস্টিং সহজে পরিচালনা করতে পারেন।

i) TestNG Dependency সেটআপ

আপনার build.gradle ফাইলে TestNG অন্তর্ভুক্ত করুন:

dependencies {
    testImplementation "org.testng:testng:7.4.0"
}

ii) Kotlin ক্লাসের জন্য টেস্ট লেখা

class Calculator {
    fun multiply(a: Int, b: Int): Int {
        return a * b
    }
}

টেস্ট ক্লাস:

import org.testng.Assert.assertEquals
import org.testng.annotations.Test

class CalculatorTest {

    private val calculator = Calculator()

    @Test
    fun testMultiply() {
        val result = calculator.multiply(4, 5)
        assertEquals(result, 20)
    }
}

ব্যাখ্যা:

  • এখানে Calculator ক্লাসের জন্য একটি টেস্ট ক্লাস CalculatorTest তৈরি করা হয়েছে। @Test অ্যানোটেশন ব্যবহার করে testMultiply ফাংশনকে টেস্ট মেথড হিসাবে চিহ্নিত করা হয়েছে।

৩. টেস্টিং টেকনিক

i) টেস্ট কেস

  • আপনার কোডের সমস্ত কার্যকারিতা পরীক্ষা করতে বিভিন্ন টেস্ট কেস তৈরি করুন।
  • Edge cases এবং invalid inputs এর জন্য টেস্ট তৈরি করুন।

ii) ডেটা ড্রিভেন টেস্ট

TestNG এ ডেটা ড্রিভেন টেস্টগুলি ব্যবহার করে একাধিক ইনপুট সহ টেস্ট তৈরি করা সম্ভব।

import org.testng.annotations.DataProvider
import org.testng.annotations.Test

class CalculatorTest {

    private val calculator = Calculator()

    @DataProvider(name = "dataForAddition")
    fun dataProvider(): Array<Array<Int>> {
        return arrayOf(
            arrayOf(1, 2, 3),
            arrayOf(2, 3, 5),
            arrayOf(-1, -1, -2)
        )
    }

    @Test(dataProvider = "dataForAddition")
    fun testAdd(a: Int, b: Int, expected: Int) {
        val result = calculator.add(a, b)
        assertEquals(result, expected)
    }
}

ব্যাখ্যা:

  • এখানে dataProvider ফাংশনটি বিভিন্ন ইনপুট তৈরি করে এবং testAdd ফাংশনটি সেই ইনপুটগুলির উপর টেস্ট চালায়।

উপসংহার

Kotlin-এ JUnit এবং TestNG ব্যবহার করে ইউনিট টেস্টিং একটি গুরুত্বপূর্ণ প্রক্রিয়া। এই ফ্রেমওয়ার্কগুলি ডেভেলপারদের জন্য কোডের বৈশিষ্ট্য এবং কার্যকারিতা পরীক্ষা করতে সহায়ক। JUnit সাধারণত সহজ এবং সরল টেস্ট লেখার জন্য ব্যবহৃত হয়, যেখানে TestNG জটিল টেস্টিং পরিস্থিতির জন্য উপযোগী।

Content added By
Promotion

Are you sure to start over?

Loading...