আমি সম্প্রতি আমার পরীক্ষাগুলির নামকরণ, তাদের ক্লাস এবং তাদের বর্ণনামূলক সর্বাধিককরণের জন্য প্রকল্পগুলি ধারণের জন্য নিম্নলিখিত কনভেনশন নিয়ে এসেছি:
বলি আমি নেমস্পেসের Settings
একটি প্রকল্পে ক্লাসটি পরীক্ষা করছি MyApp.Serialization
।
প্রথমে আমি MyApp.Serialization.Tests
নেমস্পেস দিয়ে একটি পরীক্ষা প্রকল্প তৈরি করব ।
এই প্রকল্পের মধ্যে এবং অবশ্যই নেমস্পেসের মধ্যে আমি একটি ক্লাস তৈরি করব IfSettings
( নামক সেফসেটিংসস হিসাবে সংরক্ষিত )।
বলি আমি SaveStrings()
পদ্ধতিটি পরীক্ষা করছি । -> আমি পরীক্ষার নাম দেব CanSaveStrings()
।
আমি যখন এই পরীক্ষাটি চালাচ্ছি তখন এটি নীচের শিরোনামটি প্রদর্শন করবে:
MyApp.Serialization.Tests.IfSettings.CanSaveStrings
আমি মনে করি এটি আমাকে খুব ভাল বলেছে, এটি কী পরীক্ষা করছে।
অবশ্যই এটি দরকারী যে ইংরেজীতে বিশেষ্য "টেস্টস" ক্রিয়া "পরীক্ষা" এর সমান।
পরীক্ষার নামকরণে আপনার সৃজনশীলতার কোনও সীমা নেই, যাতে আমরা তাদের জন্য পূর্ণ বাক্য শিরোনাম পাই।
সাধারণত টেস্টের নামগুলি একটি ক্রিয়া দিয়ে শুরু করতে হবে।
উদাহরণ অন্তর্ভুক্ত:
- সনাক্ত করে (উদাঃ
DetectsInvalidUserInput
)
- নিক্ষেপ (উদাঃ
ThrowsOnNotFound
)
- উইল (যেমন
WillCloseTheDatabaseAfterTheTransaction
)
প্রভৃতি
আরেকটি বিকল্প হ'ল "যদি" এর পরিবর্তে "" "ব্যবহার করুন।
পরেরটি আমাকে কীস্ট্রোকগুলি সংরক্ষণ করে এবং আমি ঠিক কী করছি তা বর্ণনা করে, যেহেতু আমি জানি না যে পরীক্ষিত আচরণটি উপস্থিত রয়েছে, তবে এটি কিনা তা পরীক্ষা করে নিচ্ছি ।
[ সম্পাদনা ]
উপরের নামকরণের কনভেনশনটি এখন আরও কিছুক্ষণ ব্যবহার করার পরে আমি খুঁজে পেয়েছি যে ইন্টারফেসের সাথে কাজ করার সময় যদি উপসর্গটি বিভ্রান্ত হতে পারে। এটি ঠিক তাই ঘটে, যা পরীক্ষার শ্রেণি ifSerializer.cs "ওপেন ফাইল ট্যাব" এর ইন্টারফেস ইসিরাইরিয়ার.সি এর সাথে খুব মিল দেখায় । পরীক্ষাগুলি, শ্রেণি পরীক্ষা করা হচ্ছে এবং এর ইন্টারফেসের মধ্যে পিছনে স্যুইচ করার সময় এটি খুব বিরক্তিকর হতে পারে। এর ফলে আমি এখন চয়ন করবে যে ওভার যদি একটি উপসর্গ হিসাবে।
অতিরিক্ত হিসাবে আমি এখন ব্যবহার করি - কেবলমাত্র আমার পরীক্ষার ক্লাসের পদ্ধতির জন্য এটি অন্য কোথাও সেরা অনুশীলন হিসাবে বিবেচিত হয় না - "_" আমার পরীক্ষার পদ্ধতির নামগুলিতে যেমন শব্দগুলি পৃথক করে:
[Test] public void detects_invalid_User_Input()
আমি এটি পড়া সহজ বলে মনে করি।
[ শেষ সম্পাদনা ]
আমি আশা করি এটি আরও কিছু ধারণার জন্ম দিয়েছে, যেহেতু আমি পরীক্ষার নামকরণকে অত্যন্ত গুরুত্ব সহকারে বিবেচনা করি কারণ এটি আপনাকে প্রচুর সময় সাশ্রয় করতে পারে যা অন্যথায় পরীক্ষাগুলি কী করছে তা বোঝার জন্য ব্যয় করতে পারত (উদাহরণস্বরূপ বর্ধিত ব্যবধানের পরে প্রকল্প পুনরায় শুরু করার পরে) ।