ইউনিট টেস্ট এবং ইন্টিগ্রেশন টেস্ট তৈরি করা

Testing Underscore.js Code - আন্ডারস্কোর.জেএস (underscorejs) - Web Development

267

টেস্টিং কি?

টেস্টিং একটি প্রোগ্রামিং প্রক্রিয়া যা সফটওয়্যারের কোডের কার্যকারিতা যাচাই করে নিশ্চিত করে যে তা সঠিকভাবে কাজ করছে। টেস্টিং সাধারণত দুই ধরনের হয়ে থাকে:

  • ইউনিট টেস্ট (Unit Test): এটি সফটওয়্যারের কোডের ছোট ছোট অংশ (ফাংশন বা মেথড) পরীক্ষা করে তাদের সঠিক কার্যকারিতা নিশ্চিত করে।
  • ইন্টিগ্রেশন টেস্ট (Integration Test): এটি সিস্টেমের বিভিন্ন উপাদান একসাথে কাজ করছে কিনা, তা পরীক্ষা করে।

Underscore.js ব্যবহারের মাধ্যমে আমরা ইউনিট টেস্ট এবং ইন্টিগ্রেশন টেস্ট তৈরি করতে পারি। এই টেস্টগুলির মাধ্যমে আমরা কোডের ব্যাবহারযোগ্যতা এবং সঠিকতা নিশ্চিত করতে পারি।


ইউনিট টেস্ট (Unit Test) তৈরি করা

ইউনিট টেস্ট হল একটি স্বয়ংক্রিয় টেস্ট যা আপনার কোডের ছোট অংশগুলো যেমন একক ফাংশন, মেথড ইত্যাদি পরীক্ষা করে। যখন আপনি Underscore.js-এর মতো লাইব্রেরি ব্যবহার করেন, তখন আপনার তৈরি করা কাস্টম ফাংশন বা লজিকের জন্য ইউনিট টেস্ট তৈরি করা গুরুত্বপূর্ণ।

উদাহরণ: ইউনিট টেস্ট তৈরি করা

ধরা যাক, আপনি একটি কাস্টম sum ফাংশন তৈরি করেছেন যা একটি অ্যারের সকল উপাদানের যোগফল বের করে:

function sum(array) {
  return _.reduce(array, function(total, num) {
    return total + num;
  }, 0);
}

এখন, এই ফাংশনের জন্য জasmine বা mocha ব্যবহার করে ইউনিট টেস্ট তৈরি করতে পারেন।

Jasmine এর সাথে ইউনিট টেস্ট:

Jasmine হল একটি JavaScript টেস্টিং ফ্রেমওয়ার্ক যা সহজে ইউনিট টেস্ট তৈরি করতে সহায়তা করে।

  1. Jasmine সেটআপ:

    Jasmine এর টেস্টিং ফ্রেমওয়ার্ক ব্যবহার করার জন্য প্রথমে Jasmine ইনস্টল করতে হবে:

    npm install --save-dev jasmine
    
  2. কাস্টম sum ফাংশনের জন্য টেস্ট:
describe("sum function", function() {
  it("should return the sum of all elements in the array", function() {
    var numbers = [1, 2, 3, 4];
    var result = sum(numbers);
    expect(result).toBe(10); // 1 + 2 + 3 + 4 = 10
  });

  it("should return 0 for an empty array", function() {
    var numbers = [];
    var result = sum(numbers);
    expect(result).toBe(0); // Sum of an empty array should be 0
  });
});
  1. Jasmine টেস্ট রান:
npx jasmine

এখানে, আমরা দুটি টেস্ট কেস লিখেছি:

  • একটি টেস্ট কেস যেখানে sum ফাংশন একটি অ্যারের উপাদানগুলির যোগফল সঠিকভাবে বের করে।
  • একটি টেস্ট কেস যেখানে sum ফাংশন একটি খালি অ্যারে প্রদান করলে 0 রিটার্ন করবে।

ইন্টিগ্রেশন টেস্ট (Integration Test) তৈরি করা

ইন্টিগ্রেশন টেস্ট সফটওয়্যারের বিভিন্ন মডিউল বা ফাংশনের মধ্যে যোগাযোগের সঠিকতা পরীক্ষা করে। এই টেস্টের মাধ্যমে আপনি যাচাই করতে পারেন যে বিভিন্ন ফাংশন একসাথে কাজ করছে কিনা।

উদাহরণ: ইন্টিগ্রেশন টেস্ট তৈরি করা

ধরা যাক, আপনি একটি ছোট ওয়েব অ্যাপ্লিকেশন তৈরি করেছেন যেখানে দুটি মডিউল রয়েছে:

  1. একটি মডিউল যা ডেটা ফিল্টার করে।
  2. একটি মডিউল যা ফিল্টার করা ডেটার উপর ম্যাপিং করে।

এখন, এই দুইটি মডিউলের ইন্টিগ্রেশন টেস্ট তৈরি করা হবে, যাতে যাচাই করা যায় যে তারা একসাথে সঠিকভাবে কাজ করছে।

// Filter Module
function filterEvenNumbers(numbers) {
  return _.filter(numbers, function(num) {
    return num % 2 === 0;
  });
}

// Map Module
function multiplyByTwo(numbers) {
  return _.map(numbers, function(num) {
    return num * 2;
  });
}

// Integration Test
describe("Integration Test for filterEvenNumbers and multiplyByTwo", function() {
  it("should filter even numbers and multiply them by 2", function() {
    var numbers = [1, 2, 3, 4, 5, 6];
    var filtered = filterEvenNumbers(numbers);
    var result = multiplyByTwo(filtered);
    expect(result).toEqual([4, 8, 12]); // [2*2, 4*2, 6*2]
  });
});

এখানে, প্রথমে filterEvenNumbers মডিউলটি ব্যবহার করে শুধুমাত্র ইভেন নম্বরগুলো বের করা হয়েছে, তারপর সেই সংখ্যাগুলিকে multiplyByTwo মডিউল দিয়ে ২ দিয়ে গুণ করা হয়েছে।

Mocha এবং Chai দিয়ে ইন্টিগ্রেশন টেস্ট:

Mocha হল একটি পপুলার JavaScript টেস্টিং ফ্রেমওয়ার্ক এবং Chai হল একটি Assertion লাইব্রেরি যা Mocha-এ টেস্টিংয়ের ফলাফল যাচাই করতে ব্যবহৃত হয়।

  1. Mocha এবং Chai ইনস্টল করা:

    npm install --save-dev mocha chai
    
  2. ইন্টিগ্রেশন টেস্ট রান:
const assert = require('chai').assert;

describe("Integration Test for filterEvenNumbers and multiplyByTwo", function() {
  it("should filter even numbers and multiply them by 2", function() {
    var numbers = [1, 2, 3, 4, 5, 6];
    var filtered = filterEvenNumbers(numbers);
    var result = multiplyByTwo(filtered);
    assert.deepEqual(result, [4, 8, 12]);
  });
});
  1. Mocha টেস্ট রান:
npx mocha

সারাংশ

ইউনিট টেস্ট এবং ইন্টিগ্রেশন টেস্ট তৈরি করার মাধ্যমে আপনি আপনার কোডের কার্যকারিতা এবং সঠিকতা যাচাই করতে পারবেন। Jasmine, Mocha, এবং Chai এর মতো টুলস ব্যবহার করে আপনি সহজেই ইউনিট এবং ইন্টিগ্রেশন টেস্ট লিখতে পারেন এবং আপনার কোডের কাজের মান নিশ্চিত করতে পারেন। Underscore.js ব্যবহার করে তৈরি করা কাস্টম ফাংশন এবং মডিউলগুলির জন্য টেস্ট তৈরি করা খুবই গুরুত্বপূর্ণ, কারণ এটি ডেভেলপমেন্টের পরবর্তী ধাপে কোডের স্থিতিশীলতা এবং বিশ্বাসযোগ্যতা নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...