Command Line Arguments এবং Test Filtering হল GoogleTest ব্যবহারের দুটি গুরুত্বপূর্ণ দিক, যা টেস্টিং প্রক্রিয়াকে আরও নমনীয় এবং কার্যকরী করে তোলে। এখানে এই দুটি বিষয়ের বিস্তারিত আলোচনা করা হলো।
১. Command Line Arguments
GoogleTest-এ Command Line Arguments ব্যবহার করে টেস্টের আচরণ কনফিগার করা যায়। বিভিন্ন ধরনের Command Line Arguments প্রদান করা হয়, যা টেস্ট রান করার সময় বিভিন্ন সেটিংস কনফিগার করতে সহায়ক।
সাধারণ Command Line Arguments:
--gtest_filter=<pattern>: নির্দিষ্ট টেস্ট বা টেস্ট গ্রুপের জন্য ফিল্টার করে। উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র MyTest নামক টেস্ট রান করতে চান:
./your_test_executable --gtest_filter=MyTest.*
--gtest_repeat=<n>: নির্দিষ্ট টেস্টটি n বার রান করার জন্য।
./your_test_executable --gtest_repeat=5
--gtest_shuffle: টেস্টগুলি এলোমেলোভাবে রান করার জন্য।
./your_test_executable --gtest_shuffle
--gtest_output=<format>:<filename>: টেস্ট আউটপুট ফাইলের ফরম্যাট এবং নাম নির্ধারণ করতে ব্যবহার করা হয়।
২. Test Filtering
Test Filtering হল একটি কৌশল যা আপনাকে নির্দিষ্ট টেস্টগুলিকে চালানোর অনুমতি দেয় বা ব্লক করতে সক্ষম করে। এটি বিশেষভাবে উপকারী যখন আপনি একটি বৃহৎ টেস্ট স্যুটের মধ্যে নির্দিষ্ট কিছু টেস্ট চালাতে চান।
Test Filtering কিভাবে কাজ করে:
Pattern Matching: --gtest_filter Argument ব্যবহার করে আপনি টেস্ট নামের মধ্যে প্যাটার্ন ম্যাচ করতে পারেন। যেমন:
--gtest_filter=TestSuiteName.TestName: নির্দিষ্ট টেস্ট কেস রান করে।--gtest_filter=TestSuiteName.*: একটি পুরো টেস্ট গ্রুপ রান করে।--gtest_filter=*TestName*: সব টেস্ট কেসের মধ্যে যেগুলোর নামের মধ্যেTestNameআছে সেগুলো রান করে।
Excluding Tests: --gtest_filter Argument এর সাথে - সাইন ব্যবহার করে টেস্টগুলিExclude করতে পারেন। উদাহরণস্বরূপ:
এই কমান্ডটি TestSuiteName.TestName টেস্ট কেসটি বাদ দেবে।
./your_test_executable --gtest_filter=-TestSuiteName.TestName
উদাহরণ
# একটি নির্দিষ্ট টেস্ট চালানো
./your_test_executable --gtest_filter=MyTestSuite.MyTestCase
# একটি টেস্ট গ্রুপের সব টেস্ট চালানো
./your_test_executable --gtest_filter=MyTestSuite.*
# টেস্টের মধ্যে যেগুলোর নামের মধ্যে "Special" আছে সেগুলো চালানো
./your_test_executable --gtest_filter=*Special*
# একটি নির্দিষ্ট টেস্ট বাদ দেওয়া
./your_test_executable --gtest_filter=-MyTestSuite.MyTestCase
উপসংহার
Command Line Arguments এবং Test Filtering GoogleTest ব্যবহার করার সময় একটি শক্তিশালী উপায়। এগুলি ব্যবহার করে আপনি আপনার টেস্ট রান করার প্রক্রিয়াটিকে আরও নিয়ন্ত্রণ করতে পারবেন এবং আপনার প্রয়োজন অনুসারে নির্দিষ্ট টেস্ট কেসগুলি নির্বাচন করতে পারবেন। এটি উন্নয়ন এবং ডিবাগিং প্রক্রিয়াকে আরও কার্যকর এবং সুবিধাজনক করে তোলে।
Read more