সি #। এমএস ভিসুয়াল স্টুডিওতে ইউনিট পরীক্ষা তৈরির উদাহরণ
- কন্টেন্ট
- ফাঁসি
- 2. প্রোগ্রাম.cs মডিউল টেক্সট প্রস্তুতি
- 2.2। প্রোগ্রাম ক্লাস পাবলিক করুন
- 3. পরীক্ষিত প্রোগ্রাম তালিকা
- 4. একটি পরীক্ষা তৈরি করা
- 4.1। সমাধান একটি নতুন প্রকল্প যোগ করা হচ্ছে
- 4.2। সমাধান গঠন
- 4.3। "ইউনিটটিস্ট 1.cs" ফাইলের পাঠ্য বৈশিষ্ট্য [TestMethod] এবং [TestClass]
- 4.4। ইউনিটটিস্ট 1 মডিউল এর পাঠ্য পরিবর্তন করা। পরীক্ষার পদ্ধতি পরিবর্তন করা
- 4.5। TestMinApp প্রোজেক্টে মিনিপ্যাশন প্রকল্প সংযুক্ত করা হচ্ছে
- 4.6। মডিউল UnitTest1.cs এর পাঠ্যাংশে পরিবর্তন করা
- 4.6.2। TestMin () পদ্ধতি টেক্সট
- 4.7। UnitTest1.cs মডিউল টেক্সট
- 5. পরীক্ষা চালান এবং পরীক্ষা ফলাফল পরীক্ষা
- 6. ফলাফল। প্রকল্প মধ্যে মিথস্ক্রিয়া
কনসোল অ্যাপ্লিকেশন মত একটি অ্যাপ্লিকেশনের জন্য মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও 2010 (সি #) -এ একটি সাধারণ ইউনিট টেস্ট তৈরি করার ধাপে ধাপে প্রক্রিয়াটি এই বিষয়ে বর্ণনা করে। এই উদাহরণটি ব্যবহার করে আপনি নিজের ইউনিট পরীক্ষাগুলি কীভাবে তৈরি করতে পারেন তা শিখতে পারেন। উদাহরণ ফাংশন অপারেশন পরীক্ষা করার জন্য অ্যাশার্ট ক্লাস ব্যবহার প্রদর্শন করে।
কন্টেন্ট
সমস্যা অবস্থা
কনসোল অ্যাপ্লিকেশন মত একটি অ্যাপ্লিকেশনের জন্য, একটি ইউনিট পরীক্ষা বিকাশ করুন যা মিনি () ফাংশনটির অপারেশন পরীক্ষা করে, যা তিনটি সংখ্যার সর্বোচ্চ উপাদান নির্ধারণ করে।
মিনি () ফাংশনের জন্য, TestMin () এ পরীক্ষা পদ্ধতি সেট করুন। ফাংশন চেক করুন।
ফাঁসি
1. কনসোল অ্যাপ্লিকেশন টেমপ্লেট ব্যবহার করে একটি অ্যাপ্লিকেশন তৈরি করুন
চালানোর জন্য এমএস ভিসুয়াল স্টুডিও 2010 চালান। কনসোল অ্যাপ্লিকেশন প্যাটার্ন ব্যবহার করে একটি প্রকল্প তৈরি করতে, নিম্নোক্ত কমান্ডের ক্রমটি অবশ্যই বলা উচিত:
ফাইল -> নতুন -> প্রকল্প ...
ফলস্বরূপ, নতুন প্রকল্প উইন্ডো খোলে। উইন্ডোতে, চিত্র 1 তে দেখানো কনসোল অ্যাপ্লিকেশন টেমপ্লেটটি নির্বাচন করুন। টেমপ্লেটটি ভিজ্যুয়াল সি # ট্যাবে নির্বাচন করা হয়েছে।
ভিসুয়াল সি # -> কনসোল অ্যাপ্লিকেশন
ডুমুর। 1. উইন্ডো "নতুন প্রকল্প"। কনসোল অ্যাপ্লিকেশন প্রকারের একটি অ্যাপ্লিকেশন নির্বাচন
2. প্রোগ্রাম.cs মডিউল টেক্সট প্রস্তুতি
2.1। মডিউল টেক্সট থেকে মিনি () ফাংশন যোগ করুন
প্রোগ্রাম ক্লাসের গোষ্ঠীতে, মিনি () ফাংশনের পাঠ্য যোগ করুন।
ফাংশন পাবলিক (স্ট্যাটিক) এবং পাবলিক হিসাবে ঘোষণা করা হয়। মিনি () ফাংশন টেক্সট
পাবলিক স্ট্যাটিক int ম Min (int a, int b, int c) {int min = a; যদি (min> b) min = b; যদি (min> c) min = c; ফিরে মিনিট; }
ডুমুর। 2. এমএস ভিসুয়াল স্টুডিও 2010 উইন্ডো দেখুন, মডিউল "প্রোগ্রাম.cs"
2.2। প্রোগ্রাম ক্লাস পাবলিক করুন
প্রোগ্রাম ক্লাসের ন্যূনতম () ফাংশন অ্যাক্সেস করার জন্য আপনাকে এই ক্লাসটিকে সর্বজনীনভাবে উপলব্ধ করা দরকার। এটি করার জন্য, একটি ক্লাস ঘোষণা করার আগে, আপনাকে সর্বজনীন কীওয়ার্ড সংজ্ঞায়িত করতে হবে।
... নামস্থান মিনিপ্যাশন {পাবলিক ক্লাস প্রোগ্রাম {// ক্লাস পদ্ধতি // //}}} ...
তারপরে, পরীক্ষা প্রোগ্রাম প্রস্তুত।
3. পরীক্ষিত প্রোগ্রাম তালিকা
মুহূর্তে, পরীক্ষিত প্রোগ্রাম তালিকা নিম্নলিখিত:
সিস্টেম ব্যবহার করে; System.Collections.Generic ব্যবহার করে; System.Linq ব্যবহার করে; System.Text ব্যবহার করে; নামস্থান MinApp {পাবলিক ক্লাস প্রোগ্রাম {পাবলিক স্ট্যাটিক int ম Min (int a, int b, int c) {int min = a; যদি (min> b) min = b; যদি (min> c) min = c; ফিরে মিনিট; } স্ট্যাটিক অকার্যকর মুখ্য (স্ট্রিং [] args) {Console.WriteLine ("সি # মধ্যে ইউনিট-পরীক্ষার ডেমো।"); }}}
যেহেতু এই প্রোগ্রামটি অন্য পরীক্ষার মডিউল থেকে পরীক্ষা করা হবে, তাই Main () ফাংশনে অন্য কিছু প্রবেশ করার প্রয়োজন নেই। কারণ, সমস্যাটির শর্ত অনুযায়ী, আপনাকে Min () ফাংশনটির ক্রিয়াকলাপটি পরীক্ষা করতে হবে। এবং এই পরীক্ষার মডিউল থেকে সম্পন্ন করা হবে। মুহূর্তে, আমাদের প্রোগ্রাম পরীক্ষার জন্য প্রস্তুত।
4. একটি পরীক্ষা তৈরি করা
পরীক্ষা সমাধান (সমাধান) একটি পৃথক প্রকল্প (প্রকল্প) দ্বারা নির্মিত হয়। পরীক্ষিত প্রোগ্রাম এটি সম্পর্কে জানি না। পরীক্ষা করা হবে যে প্রোগ্রাম (পরীক্ষার প্রোগ্রাম) পরীক্ষিত প্রোগ্রামের ফাংশন কল করবে। আমাদের ক্ষেত্রে, পরীক্ষা প্রোগ্রাম ফাংশন কল করবে
int Min (int, int, int);
4.1। সমাধান একটি নতুন প্রকল্প যোগ করা হচ্ছে
এই সমাধানের জন্য (সমাধান) কমান্ডটি ব্যবহার করে আপনাকে একটি নতুন প্রকল্প যুক্ত করতে হবে
ফাইল-> Add-> নতুন প্রকল্প ...
একটি নতুন প্রকল্প তৈরির জন্য উইন্ডো চিত্র 3 এ দেখানো হয়েছে।
ডুমুর। 3. পরীক্ষা প্রকল্প প্রকারের একটি প্রকল্প তৈরির জন্য উইন্ডো
ভিজ্যুয়াল সি # টেমপ্লেটগুলির একটি গোষ্ঠী -> উইন্ডোতে পরীক্ষা নির্বাচন করা হয়। প্রদর্শিত টেম্পলেট থেকে, "পরীক্ষামূলক প্রকল্প" প্রকল্প টেমপ্লেট নির্বাচন করা হয়। ক্ষেত্র "নাম" প্রকল্পটির নাম যা আমাদের প্রোগ্রাম পরীক্ষা করবে তা নির্দেশ করা হয়। আপনাকে উদাহরণস্বরূপ, TestMinApp সেট করতে হবে। প্রকল্প একটি পৃথক ফোল্ডার "ই: \ টেস্ট \ MinApp" মধ্যে অবস্থিত।
ডুমুর। 4. মডিউল UnitTest1.cs এর পাঠ্য। TestMinApp এবং MinApp প্রকল্পগুলির সাথে সমাধান এক্সপ্লোরার এক্সপ্লোরার উইন্ডো প্রদর্শিত
4.2। সমাধান গঠন
চিত্র 4 থেকে দেখা যায়, সমাধান এক্সপ্লোরার ইউটিলিটি সমাধান আইটেম গঠন প্রদর্শন করে, যার মধ্যে দুটি প্রকল্প রয়েছে:
- প্রকল্প MinApp। এটি কনসোল অ্যাপ্লিকেশন টেমপ্লেট ব্যবহার করে তৈরি একটি প্রকল্প যা আপনি প্রতিবাদ করতে চান এমন মিনি () ফাংশন দিয়ে;
- TestMinApp প্রকল্প। এই প্রকল্পটি MinApp প্রকল্পটির বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য ডিজাইন করা হয়েছে। প্রোগ্রাম কোডটি Min () ফাংশনটি পরীক্ষা করে TestMinApp প্রোজেক্টের ইউনিটটিস্ট 1 প্রকল্প ফাইলটিতে প্রবেশ করা হবে।
উভয় প্রকল্প একে অপরের স্বাধীনভাবে বাহিত হতে পারে।
4.3। "ইউনিটটিস্ট 1.cs" ফাইলের পাঠ্য বৈশিষ্ট্য [TestMethod] এবং [TestClass]
TestMinApp প্রকল্পে, পরীক্ষামূলক ফাইল ইউনিটটিস্ট 1.cs প্রাথমিক আগ্রহের। এই ফাইলটিতে এমন পদ্ধতি রয়েছে যা MinApp প্রকল্পটির ফাংশনগুলি পরীক্ষা করবে। TestMinApp প্রোজেক্টে এমন কোনও ফাইল থাকতে পারে যা পরীক্ষাগুলি ধারণ করে (উদাহরণস্বরূপ, ইউনিটটিস্ট 2.cs, ইউনিটটিস্ট 3.cs ইত্যাদি)।
এমএস ভিজ্যুয়াল স্টুডিও 2010 দ্বারা উত্পন্ন ইউনিটটিস্ট 1.cs ফাইলের তালিকা নিম্নরূপ:
সিস্টেম ব্যবহার করে; System.Text ব্যবহার করে; System.Collections.Generic ব্যবহার করে; System.Linq ব্যবহার করে; মাইক্রোসফ্ট ব্যবহার করে। VisualStudio.TestTools.UnitTesting; নামস্থান TestMinApp {/// <summary> /// ইউনিটটেষ্ট 1 /// </ summary> [TestClass] পাবলিক ক্লাস ইউনিটটিস্ট 1 {পাবলিক ইউনিটটিস্ট 1 () // // // টিডো: এখানে কন্সট্রাকটর লজিক যুক্ত করুন //} ব্যক্তিগত টেস্টকন্টেস্টের সংক্ষিপ্ত বিবরণ testContextInstance; /// <summary> /// পরীক্ষা প্রেক্ষাপটে বা সেট করে। /// </ summary> সর্বজনীন টেস্টকন্টেক্স টেস্টসেনটেক্সট {{রিটার্ন টেস্টকন্টেক্সটইনস্টেন্স পান; } সেট {testContextInstance = মান; }} #region অতিরিক্ত পরীক্ষা বৈশিষ্ট্য // আপনি আপনার পরীক্ষাগুলি ব্যবহার করতে পারেন // // ClassInitialize // [ClassInitialize ()] // // ব্যবহার করুন // // পাবলিক স্ট্যাটিক অকার্যকর MyClassInitialize (TestContext testContext) {} // // ক্লাস চালানোর জন্য ক্লাসের সমস্ত পরীক্ষার পরে ক্লাস চালানোর জন্য // ক্লাসস্লেনআপ ()] // সার্বজনীন স্ট্যাটিক অকার্যকর MyClassCleanup () {} // // TestInitialize ব্যবহার করুন প্রতিটি পরীক্ষা চালানোর আগে কোডটি চালানোর জন্য // [TestInitialize ()] // পাবলিক অকার্যকর MyTestInitialize () {} // // TestCleanup ব্যবহার করুন ) {} // #endregion [testMethod] পাবলিক অকার্যকর testMethod1 () {// // TODO: এখানে পরীক্ষা যুক্তি যোগ করুন //}}}
উপরের কোড থেকে দেখা যেতে পারে, ফাইলটি UnitTest1 নামক একটি শ্রেণী ধারণ করে। ক্লাসটিতে একটি পরীক্ষামূলক পদ্ধতি রয়েছে যা TestMethod1 () নামে পরিচিত। TestMethod1 () পদ্ধতি প্রয়োগ করার আগে, [TestMethod] বৈশিষ্ট্যটি স্থাপন করা হয়। এর অর্থ হল আপনাকে কোডটি প্রবেশ করতে হবে যা পদ্ধতির শরীরের মিনপ্যাপ প্রজেক্টের ফাংশনগুলি পরীক্ষা করবে।
ক্লাসে, আপনি যে কোনও পদ্ধতিতে প্রবেশ করতে পারেন যা বিভিন্ন মডিউল থেকে বিভিন্ন ফাংশন পরীক্ষা করবে। মূল বিষয় হল এই পদ্ধতিগুলি [TestMethod] বৈশিষ্ট্যটির সাথে চিহ্নিত করা হয়েছে।
4.4। ইউনিটটিস্ট 1 মডিউল এর পাঠ্য পরিবর্তন করা। পরীক্ষার পদ্ধতি পরিবর্তন করা
আপনি পদ্ধতিগুলির নাম পরিবর্তন করতে পারেন এবং ইউনিটটিস্ট 1.cs মডিউলে [TestMethod] বৈশিষ্ট্যটির সাথে চিহ্নিত নতুন পদ্ধতি যোগ করতে পারেন। এটি দেওয়া হয়েছে, ইউনিটটিস্ট 1.cs মডিউল এর পাঠ্যতে, আপনাকে TestMethod1 () পদ্ধতিটি TestMin () এ পুনঃনামকরণ করতে হবে।
পরিবর্তনগুলি করার পরে, ইউনিটটিস্ট 1.cs ফাইলের মডিউলটির সংক্ষিপ্ত লেখাটি হবে:
সিস্টেম ব্যবহার করে; System.Text ব্যবহার করে; System.Collections.Generic ব্যবহার করে; System.Linq ব্যবহার করে; মাইক্রোসফ্ট ব্যবহার করে। VisualStudio.TestTools.UnitTesting; নামস্থান TestMinApp {/// <summary> /// ইউনিটটেষ্ট 1 /// </ summary> [TestClass] সার্বজনীন ক্লাস ইউনিটটিস্ট 1 [... [TestMethod] পাবলিক অকার্যকর TestMin () // // // TODO: পরীক্ষা যোগ করুন যুক্তি এখানে //}}}
4.5। TestMinApp প্রোজেক্টে মিনিপ্যাশন প্রকল্প সংযুক্ত করা হচ্ছে
TestMinApp প্রকল্প থেকে Min () ফাংশন (MinApp প্রকল্প) অ্যাক্সেস পেতে, আপনাকে এই ফাংশনটি অবস্থিত এমন নামস্পেস সংযুক্ত করতে হবে।
এটি করার জন্য, প্রথমত, আপনাকে TestMinApp প্রকল্পের জন্য প্রসঙ্গ মেনুতে কল করতে হবে। তারপর প্রসঙ্গ মেনুতে আপনাকে "রেফারেন্স যোগ করুন ..." (চিত্র 5) কমান্ডটি কল করতে হবে।
ডুমুর। 5. দল "রেফারেন্স যোগ করুন ..."
ফলস্বরূপ, অ্যাড রেফারেন্স উইন্ডো খুলবে, এতে আপনাকে MinApp প্রকল্পটি নির্বাচন করতে হবে।
ডুমুর। 6. উইন্ডো "রেফারেন্স যোগ করুন"। MinApp প্রকল্প সংযুক্ত করা হচ্ছে
সম্পন্ন কর্মগুলির পরে, মিনপ্যাপ প্রকল্প ফাংশন TestMinApp প্রকল্পে ব্যবহারের জন্য উপলব্ধ হবে।
ডুমুর। 7. সংযুক্ত MinApp প্রকল্প সঙ্গে রেফারেন্স ট্যাব
4.6। মডিউল UnitTest1.cs এর পাঠ্যাংশে পরিবর্তন করা
4.6.1। UnitTest1.cs মডিউলে MinApp নামস্থান যোগ করা হচ্ছে
এই ধাপে, UnitTest1.cs মডিউলে, আপনাকে ব্যবহারের নির্দেশ ব্যবহার করে MinApp নামস্থান যোগ করতে হবে:
সিস্টেম ব্যবহার করে; System.Text ব্যবহার করে; System.Collections.Generic ব্যবহার করে; System.Linq ব্যবহার করে; মাইক্রোসফ্ট ব্যবহার করে। VisualStudio.TestTools.UnitTesting; MinApp ব্যবহার করে; নামস্থান TestMinApp {...}
4.6.2। TestMin () পদ্ধতি টেক্সট
TestMin () পদ্ধতির পাঠ্যক্রমে নিম্নলিখিত কোডটি প্রবেশ করান:
... [TestMethod] পাবলিক অকার্যকর TestMin () {// // TODO: এখানে পরীক্ষা যুক্তি যুক্ত করুন // int মিনি; মিনি = প্রোগ্রাম। মিন (3, 4, 5); দৃঢ়প্রত্যয়ী। (2, মিনিট); } ...
4.7। UnitTest1.cs মডিউল টেক্সট
সম্পূর্ণ ইউনিটটিস্ট 1.cs মডিউল এর পাঠ্য নিম্নরূপ:
সিস্টেম ব্যবহার করে; System.Text ব্যবহার করে; System.Collections.Generic ব্যবহার করে; System.Linq ব্যবহার করে; মাইক্রোসফ্ট ব্যবহার করে। VisualStudio.TestTools.UnitTesting; MinApp ব্যবহার করে; নামস্থান TestMinApp {/// <summary> /// ইউনিটটেষ্ট 1 /// </ summary> [TestClass] পাবলিক ক্লাস ইউনিটটিস্ট 1 {পাবলিক ইউনিটটিস্ট 1 () // // // টিডো: এখানে কন্সট্রাকটর লজিক যুক্ত করুন //} ব্যক্তিগত টেস্টকন্টেস্টের সংক্ষিপ্ত বিবরণ testContextInstance; /// <summary> /// পরীক্ষা প্রেক্ষাপটে বা সেট করে। /// </ summary> সর্বজনীন টেস্টকন্টেক্স টেস্টসেনটেক্সট {{রিটার্ন টেস্টকন্টেক্সটইনস্টেন্স পান; } সেট {testContextInstance = মান; }} #region অতিরিক্ত পরীক্ষা বৈশিষ্ট্য // আপনি আপনার পরীক্ষাগুলি ব্যবহার করতে পারেন // // ClassInitialize // [ClassInitialize ()] // // ব্যবহার করুন // // পাবলিক স্ট্যাটিক অকার্যকর MyClassInitialize (TestContext testContext) {} // // ক্লাস চালানোর জন্য ক্লাসের সমস্ত পরীক্ষার পরে ক্লাস চালানোর জন্য // ক্লাসস্লেনআপ ()] // সার্বজনীন স্ট্যাটিক অকার্যকর MyClassCleanup () {} // // TestInitialize ব্যবহার করুন প্রতিটি পরীক্ষা চালানোর আগে কোডটি চালানোর জন্য // [TestInitialize ()] // পাবলিক অকার্যকর MyTestInitialize () {} // // TestCleanup ব্যবহার করুন ) {} // #endregion [TestMethod] পাবলিক অকার্যকর TestMin () // // // TODO: এখানে পরীক্ষা যুক্তি যুক্ত করুন // int মিনি; মিনি = প্রোগ্রাম। মিন (3, 4, 5); দৃঢ়প্রত্যয়ী। (2, মিনিট); }}}
5. পরীক্ষা চালান এবং পরীক্ষা ফলাফল পরীক্ষা
মাইক্রোসফ্ট ভিজুয়াল স্টুডিও ২010-এ, ইউনিট পরীক্ষার সাথে কাজ করার জন্য পরীক্ষার নামে একটি বিশেষ মেনু পরীক্ষা করা হয়।
একটি নির্বাহ পরীক্ষা চালানোর জন্য, কমান্ড এক নির্বাচন করুন।
পরীক্ষা -> চালান -> বর্তমান প্রসঙ্গে পরীক্ষাঅথবা
পরীক্ষা -> চালান -> সমাধান সব পরীক্ষা
চিত্র 8 হিসাবে দেখানো হয়েছে।
ডুমুর। 8. শুরু পরীক্ষা কমান্ড কল করুন এবং ফলাফল দেখুন।
পরীক্ষার পর, ফলাফলটি ফলাফল ফলাফল উইন্ডোর নীচে দেখতে পারা যায়। চিত্র থেকে দেখা যায়, পরীক্ষা পাস করা হয় না। এটি যুক্তিযুক্ত, যেহেতু Assert.AreEqual () ফাংশনটি আমরা সংখ্যা 2 এবং 3 তুলনা করি যা ভিন্ন। এখানে, সংখ্যা 2 বিশেষভাবে 3 এর পরিবর্তে চালু করা হয়েছে।
যদি নম্বর 2 এর পরিবর্তে আপনি সঠিক উত্তর লিখেন - সংখ্যা 3 (সর্বনিম্ন 3, 4, 5 এর মধ্যে), তখন পরীক্ষা পাস করা হবে (চিত্র 9)। এই ক্ষেত্রে, TestMin () পদ্ধতির পাঠ্য নিম্নরূপ হবে:
... [TestMethod] পাবলিক অকার্যকর TestMin () {// // TODO: এখানে পরীক্ষা যুক্তি যুক্ত করুন // int মিনি; মিনি = প্রোগ্রাম। মিন (3, 4, 5); দৃঢ়প্রত্যয়ী। (3, মিনিট); } ...
ফলাফল উইন্ডো চিত্র 9 দেখানো হয়।
ডুমুর। 9. আপনি সঠিক উত্তর লিখুন, ক্ষেত্রে জন্য পরীক্ষার ফলাফল
এখন আমরা উপসংহার করতে পারি যে এই ক্ষেত্রে MIN () ফাংশন সঠিকভাবে কাজ করে।
6. ফলাফল। প্রকল্প মধ্যে মিথস্ক্রিয়া
এই কাগজে, সমাধান দুটি প্রকল্প তৈরি করা হয়। একটি MinApp প্রকল্পটিতে আপনি পরীক্ষা করতে চান এমন MIN () ফাংশন রয়েছে। দ্বিতীয় প্রকল্প, TestMinApp, পরীক্ষার পদ্ধতি রয়েছে।
মাইক্রোসফ্ট ভিজুয়াল স্টুডিও 2010 এ, প্রতিটি প্রকল্প বিভিন্ন মেনু কমান্ড ব্যবহার করে চালু হয়। সুতরাং, মেনপ্যাশ প্রজেক্ট রান মেনু থেকে প্রমিতভাবে চালু হয়। এবং TestMinApp প্রকল্প বিশেষ টেস্ট মেনু থেকে চালু করা হয়।