Test Cases লেখা এবং Run করা in Dart
Dart-এ ইউনিট টেস্টিং করার জন্য test প্যাকেজটি ব্যবহৃত হয়, যা আপনাকে কোডের কার্যকারিতা যাচাই করার জন্য টেস্ট কেস লিখতে এবং সেগুলি চালাতে সহায়ক। এখানে আমরা কীভাবে টেস্ট কেস লেখা এবং সেগুলি রান করা যায়, তা বিস্তারিতভাবে আলোচনা করবো।
১. test প্যাকেজ ইম্পোর্ট করা
প্রথমে আপনার Dart প্রকল্পের pubspec.yaml ফাইলে test প্যাকেজটি যুক্ত করুন, যদি ইতিমধ্যেই না করে থাকেন।
dev_dependencies:
test: ^1.20.0 # সর্বশেষ সংস্করণ চেক করুন
এরপর, কমান্ড লাইন থেকে নিচের কমান্ডটি চালান:
dart pub get
২. টেস্ট কেস লেখা
টেস্ট কেস লেখার জন্য, সাধারণত test ফোল্ডারের মধ্যে একটি নতুন Dart ফাইল তৈরি করতে হয়। উদাহরণস্বরূপ, যদি আপনার calculator.dart নামের একটি ফাইল থাকে, তাহলে আপনি calculator_test.dart নামের একটি টেস্ট ফাইল তৈরি করতে পারেন।
উদাহরণ: সহজ ফাংশন এবং টেস্ট কেস লেখা
calculator.dart (ফাংশন সংজ্ঞায়িত)
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
calculator_test.dart (টেস্ট কেস লেখা)
import 'package:test/test.dart';
import 'calculator.dart'; // আপনার ফাংশন ফাইল ইম্পোর্ট করুন
void main() {
group('Calculator Tests', () {
test('Add two positive numbers', () {
expect(add(2, 3), 5);
});
test('Subtract two numbers', () {
expect(subtract(5, 3), 2);
});
test('Add a positive and a negative number', () {
expect(add(5, -3), 2);
});
test('Subtract negative from positive', () {
expect(subtract(5, -3), 8);
});
});
}
৩. টেস্ট কেস চালানো
টেস্ট কেস চালাতে, কমান্ড লাইন থেকে নিচের কমান্ডটি ব্যবহার করুন:
dart test
এটি আপনার প্রকল্পের সমস্ত টেস্ট ফাইল চালাবে এবং ফলাফল প্রদর্শন করবে। উদাহরণস্বরূপ:
00:00 +0: Calculator Tests
00:00 +1: Add two positive numbers
00:00 +2: Subtract two numbers
00:00 +3: Add a positive and a negative number
00:00 +4: Subtract negative from positive
00:00 +4: All tests passed!
৪. টেস্ট ফলাফল বিশ্লেষণ
টেস্ট চালানোর পর, আপনি পাস হওয়া এবং ব্যর্থ হওয়া টেস্টগুলির তালিকা দেখতে পাবেন। যদি কোনো টেস্ট ব্যর্থ হয়, তবে তা কেন ব্যর্থ হয়েছে তার বিস্তারিত তথ্যও দেখানো হবে।
৫. টেস্টের জন্য মকিং
কিছু সময়, আপনাকে নির্ভরশীলতা টেস্ট করার জন্য মক বা স্টাব ব্যবহার করতে হতে পারে। এর জন্য mockito প্যাকেজটি ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, যদি আপনার API কলের টেস্ট করতে হয়।
৬. টেস্ট কেস লেখা এবং পরিচালনা করা
- setUp এবং tearDown: প্রতিটি টেস্টের আগে বা পরে কিছু কোড চালানোর জন্য ব্যবহার করা হয়।
setUp(() {
// এই ফাংশনটি প্রতিটি টেস্টের আগে চালানো হবে
});
tearDown(() {
// এই ফাংশনটি প্রতিটি টেস্টের পরে চালানো হবে
});
৭. প্যারামিটারাইজড টেস্ট
একই ধরনের টেস্ট একাধিক ইনপুট দিয়ে লেখা হলে, আপনি প্যারামিটারাইজড টেস্ট ব্যবহার করতে পারেন।
void main() {
var testCases = [
{'a': 2, 'b': 3, 'expected': 5},
{'a': 5, 'b': -3, 'expected': 2},
{'a': -2, 'b': -3, 'expected': -5},
];
for (var testCase in testCases) {
test('Add ${testCase['a']} and ${testCase['b']}', () {
expect(add(testCase['a'], testCase['b']), testCase['expected']);
});
}
}
উপসংহার
Dart-এ ইউনিট টেস্টিং একটি গুরুত্বপূর্ণ প্রক্রিয়া যা কোডের গুণগত মান নিশ্চিত করতে এবং ত্রুটি সনাক্ত করতে সহায়ক। test লাইব্রেরি ব্যবহার করে সহজেই টেস্ট কেস লেখা এবং চালানো যায়। সঠিকভাবে ইউনিট টেস্টিং করলে, এটি সফটওয়্যার উন্নয়নের প্রক্রিয়াকে আরও উন্নত করতে সাহায্য করে।
Read more