Web Development RIOT.js এর জন্য Unit Testing এবং Integration Testing গাইড ও নোট

230

Riot.js এর জন্য Unit Testing এবং Integration Testing সঠিকভাবে করার জন্য কিছু টেস্টিং টুল এবং ফ্রেমওয়ার্ক ব্যবহার করা প্রয়োজন। এই টেস্টিংগুলো অ্যাপ্লিকেশনের কোডের আচার-ব্যবহার নিশ্চিত করতে সাহায্য করে এবং বাগ বা ভুল সনাক্ত করতে সাহায্য করে। Riot.js-এ টেস্টিং সাধারণত Jest, Mocha, Chai, এবং Karma ব্যবহার করা হয়।

এখানে Riot.js এর জন্য Unit Testing এবং Integration Testing করার কিছু পদ্ধতি দেখানো হবে।

১. Unit Testing: একটি কম্পোনেন্টের লজিক পরীক্ষা করা

Unit Testing হল ছোট ছোট টুকরো (ইউনিট) কোড পরীক্ষা করা, যেমন একটি ফাংশন বা কম্পোনেন্টের লজিক। Riot.js-এ ইউনিট টেস্ট করার জন্য Jest খুবই জনপ্রিয় একটি টুল, কারণ এটি খুব সহজে সেটআপ করা যায় এবং একত্রিতভাবে কাজ করে।

Step 1: Jest ইনস্টল করা

প্রথমে আপনাকে Jest ইনস্টল করতে হবে:

npm install --save-dev jest

Step 2: Riot কম্পোনেন্ট টেস্ট করা

এখানে একটি কম্পোনেন্টের জন্য ইউনিট টেস্ট দেখানো হচ্ছে। ধরে নেওয়া হচ্ছে, আপনার একটি কম্পোনেন্ট রয়েছে যা একটি message স্টেট সেট করে।

<!-- MyComponent.riot -->
<my-component>
  <h1>{message}</h1>
  
  <script>
    export default {
      onMounted() {
        this.message = 'Hello, World!';
      }
    }
  </script>
</my-component>

এখন, এই কম্পোনেন্টটির জন্য একটি ইউনিট টেস্ট তৈরি করা হবে।

Step 3: টেস্ট কোড লেখা

// MyComponent.test.js
import riot from 'riot';
import MyComponent from './MyComponent.riot'; // কম্পোনেন্টের রুট ফাইল

describe('MyComponent', () => {
  it('should render the default message', () => {
    const element = riot.mount('my-component')[0];  // কম্পোনেন্ট মাউন্ট করা
    expect(element.message).toBe('Hello, World!'); // message স্টেট চেক করা
  });
});

ব্যাখ্যা:

  • riot.mount(): এটি Riot.js কম্পোনেন্ট মাউন্ট করে এবং আপনার টেস্টিং পরিবেশে এটি ইনস্ট্যান্স তৈরি করে।
  • expect(): এটি message স্টেটের মান চেক করছে।
  • Jest: jest ব্যবহার করে টেস্ট রান করা হয় এবং toBe() মেথড দিয়ে আউটপুট যাচাই করা হয়।

Step 4: Jest রান করা

Jest রান করতে package.json ফাইলে স্ক্রিপ্ট যুক্ত করুন:

"scripts": {
  "test": "jest"
}

এখন, কমান্ড লাইন থেকে টেস্ট চালাতে পারবেন:

npm test

২. Integration Testing: বিভিন্ন কম্পোনেন্টের ইন্টিগ্রেশন পরীক্ষা করা

Integration Testing হল একাধিক কম্পোনেন্ট বা ইউনিটের একসাথে কাজ করার পদ্ধতি পরীক্ষা করা। Riot.js-এ এই ধরনের টেস্ট করতে আপনি @riotjs/testing-library অথবা jest এর সাথে react-testing-library ব্যবহার করতে পারেন।

Step 1: @riotjs/testing-library ইনস্টল করা

npm install --save-dev @riotjs/testing-library

Step 2: ইন্টিগ্রেশন টেস্ট তৈরি করা

ধরা যাক, আপনার দুটি কম্পোনেন্ট রয়েছে: একটি ParentComponent এবং একটি ChildComponent, এবং আপনি চান যে ParentComponent এর মধ্যে ChildComponent কে রেন্ডার করা হোক।

ChildComponent.riot:

<!-- ChildComponent.riot -->
<child-component>
  <p>{opts.message}</p>
</child-component>

ParentComponent.riot:

<!-- ParentComponent.riot -->
<parent-component>
  <child-component message={childMessage}></child-component>
  
  <script>
    export default {
      onMounted() {
        this.childMessage = 'Hello from Parent!';
      }
    }
  </script>
</parent-component>

এখন, আপনি ইন্টিগ্রেশন টেস্ট লিখবেন, যাতে চেক করা হয় ParentComponent সঠিকভাবে ChildComponent কে রেন্ডার করছে।

Step 3: টেস্ট কোড লেখা

// ParentComponent.test.js
import { render } from '@riotjs/testing-library';
import ParentComponent from './ParentComponent.riot';

describe('ParentComponent', () => {
  it('should render ChildComponent with message', async () => {
    const { findByText } = render(ParentComponent); // কম্পোনেন্ট রেন্ডার করা
    const childMessage = await findByText('Hello from Parent!');
    expect(childMessage).toBeInTheDocument(); // ChildComponent এর বার্তা চেক করা
  });
});

ব্যাখ্যা:

  • render(): এটি Riot.js কম্পোনেন্ট রেন্ডার করে এবং ইউজার ইন্টারফেসে এর উপস্থিতি পরীক্ষা করতে সাহায্য করে।
  • findByText(): এটি পরীক্ষার জন্য ChildComponent এর প্রদত্ত message এর টেক্সট খুঁজে বের করে এবং নিশ্চিত করে যে এটি সঠিকভাবে রেন্ডার হয়েছে।
  • expect(): এটি যাচাই করে যে ChildComponent এর টেক্সট ডকুমেন্টে রয়েছে।

Step 4: টেস্ট রান করা

এখন, আপনি আবার Jest ব্যবহার করে টেস্ট রান করতে পারেন:

npm test

৩. Test Coverage: টেস্ট কভারেজ যাচাই করা

আপনি আপনার কোডের কভারেজ দেখতে চাইলে Jest এর মাধ্যমে কভারেজ জেনারেট করতে পারেন।

npm test -- --coverage

এটি আপনার টেস্ট কভারেজ দেখাবে এবং যেসব অংশ টেস্ট হয়নি সেগুলো শনাক্ত করবে।


Unit Testing এবং Integration Testing Riot.js অ্যাপ্লিকেশনের কোডের আচার-ব্যবহার যাচাই করতে অপরিহার্য। আপনি Jest এবং @riotjs/testing-library ব্যবহার করে সহজে টেস্টিং করতে পারেন। Unit Testing কম্পোনেন্টের লজিক পরীক্ষা করে এবং Integration Testing বিভিন্ন কম্পোনেন্টের মধ্যে ইন্টিগ্রেশন যাচাই করে, যা আপনার অ্যাপ্লিকেশনকে আরো বিশ্বাসযোগ্য এবং রক্ষনাবেক্ষণযোগ্য করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...