ইউনিট পরীক্ষার জন্য নুনিট বনাম ভিজ্যুয়াল স্টুডিও ২০০৮ এর টেস্ট প্রকল্পগুলি? [বন্ধ]


254

আমি কাজ করে একটি নতুন প্রকল্প শুরু করব এবং ইউনিট পরীক্ষায় যেতে চাই get আমরা ভিএস ২০০৮, সি # এবং এএসপি.নেট এমভিসি স্টাফ ব্যবহার করব। আমি NUnit বা VS2008 এর নির্মিত বিল্ট ইন টেস্ট প্রকল্পগুলি ব্যবহার করে দেখছি তবে আমি অন্যান্য পরামর্শগুলি নিয়ে গবেষণা করতে প্রস্তুত open একটি সিস্টেম কি অন্যের চেয়ে ভাল বা ব্যবহার করা / বুঝতে সহজ অন্যটির চেয়ে সহজ? আমরা আমাদের প্রকল্পের অগ্রযাত্রার প্রচেষ্টা চালানোর জন্য এই প্রকল্পটি "সেরা অনুশীলন" ধরণের হিসাবে স্থাপন করতে চাই।

কোন সাহায্য এবং পরামর্শের জন্য ধন্যবাদ !!

উত্তর:


99

দাওক ভিএস ২০০৮ টেস্ট প্রকল্পের সমস্ত প্রো-এর নামকরণ করেছেন, এখানে নুনিটের প্রো প্রো রয়েছে।

  • নুনিটের একটি মশকরা ফ্রেমওয়ার্ক রয়েছে।
  • ইউএনটি আইডিইর বাইরে চালানো যেতে পারে, আপনি যদি সিসি.নেটের মতো নন এমএস বিল্ড সার্ভারে পরীক্ষা চালাতে চান তবে এটি কার্যকর হতে পারে this
  • নূনিতের ভিজ্যুয়াল স্টুডিওর চেয়ে আরও বেশি সংস্করণ প্রকাশিত হয়েছে। নতুন সংস্করণের জন্য আপনাকে কয়েক বছর অপেক্ষা করতে হবে না এবং নতুন বৈশিষ্ট্য পেতে আপনাকে আইডিইর নতুন সংস্করণ ইনস্টল করতে হবে না।
  • নুনিটের জন্য সারি-পরীক্ষা ইত্যাদির মতো বিকাশ রয়েছে are
  • ভিজ্যুয়াল স্টুডিও পরীক্ষাগুলি কোনও কারণে শুরু করতে দীর্ঘ সময় নেয় take এটি ২০০৮ সালে আরও ভাল তবে এটি আমার স্বাদে খুব ধীর। আপনি কোনও কিছু না ভাঙ্গলেন কিনা তাড়াতাড়ি পরীক্ষা চালানো খুব বেশি সময় নিতে পারে। টেস্টড্রিভেনের মতো কিছু নয় the আইডিই থেকে পরীক্ষা চালানোর জন্য নেট আসলে খুব দ্রুত। বিশেষত যখন একক পরীক্ষা চালানো হয়।
    কেজেটিল ক্লাউসেনের সাথে সংযুক্তি এটি ভিজ্যুয়াল স্টুডিও টেস্টরুনারের কারণে ঘটেছিল, টেস্টড্রাইভনে এমএসটিস্ট পরীক্ষা চালায় et নেট এমএসটিস্ট পারফরম্যান্সকে নুনিটের সাথে তুলনীয় করে তোলে।

19
আপনি কি আইডিইর বাইরে এমএসটিস্ট টেস্ট চালানোর জন্য কেবল এমস্টেস্ট.এক্সই ব্যবহার করতে পারবেন না?
ফিলিপ ওয়েলস

13
নুনিটকে একটি উপহাসের কাঠামো থাকা খুব একটা সুবিধা নয়। আমি ভিউ ২০০৮ ইউনিট পরীক্ষার প্রকল্পগুলি মউক ফ্রেমওয়ার্কের সাথে ব্যবহার করছি যা একটি অভিনব পদ্ধতির ব্যবহার করে, লিনকিউ
DSO

5
আমার পক্ষে নুনিতের জন্য আরও একটি প্লাস হ'ল রিশার্পারের চারপাশে খুব সুন্দর ইউআই রয়েছে যা ভিএস পরীক্ষার উপাদানগুলির চেয়ে অনেক দ্রুত। এমনকি এটি আপনার কোডটিতে ব্যর্থ পরীক্ষার স্ট্যাক ট্রেসকে হাইপারলিংক করে।
জেফ পুটজ

7
ইউনিট টেস্টিং ভিএস 2008 এর পেশাদার সংস্করণে অন্তর্ভুক্ত রয়েছে
ব্যবহারকারী 179700

3
@ জেফ পুটজ: রিশার্পার একটি পরীক্ষা প্রকল্পের বাইরেও, ভিজ্যুয়াল স্টুডিও ইউনিট-পরীক্ষা চালাতে পারবেন।
পল রুনে 3'10

64

ইউনিট-পরীক্ষার কাঠামোটি আসলে খুব বেশি গুরুত্ব দেয় না, কারণ আপনি পৃথক প্রকল্প ফাইল এবং শর্তসাপেক্ষ সংকলন (যেমন, ভিএস-> নুনিট) দিয়ে পরীক্ষা ক্লাস রূপান্তর করতে পারেন:

 # যদি! নুনিট
  মাইক্রোসফ্ট.ভিজুয়ালস্টুডিও.টেষ্টটুলস.উনিটটেষ্টিং ব্যবহার করে;
 #else
  NUnit.Framework ব্যবহার করে;
  টেস্টক্লাস ব্যবহার করে = NUnit.Framework.TestFixtureAttribute;
  টেস্টমেথোদ = NUnit.Framework.TestAttribute ব্যবহার করে;
  TestInitialize = NUnit.Framework.SetUpAttribute ব্যবহার করে;
  TestCleanup = NUnit.Framework.TearDownAttribute ব্যবহার করে;
  TestContext = System.String ব্যবহার করে;
  ডিপ্লোয়মেন্টআইটিম = NUnit.Framework.DescriptionAttribute ব্যবহার করে;
 #যদি শেষ

টেস্টড্রাইভন.নেট প্লাগইনটি দুর্দান্ত এবং খুব ব্যয়বহুল নয় ... কেবল সাদামাটা ভিএস ২০০৮ দিয়ে আপনাকে আপনার পরীক্ষার শ্রেণি বা পরীক্ষার তালিকা থেকে পরীক্ষাটি সন্ধান করতে হবে। টেস্টড্রাইভন.নোটের সাহায্যে আপনি যে ক্লাসটি পরীক্ষা করছেন তা সরাসরি আপনার পরীক্ষা চালাতে পারেন। সর্বোপরি, ইউনিট পরীক্ষা বজায় রাখা সহজ এবং বিকাশকারী কাছাকাছি হওয়া উচিত।


12
আমি এটিকে ভোট দিয়েছি কারণ এমএনএসেস্টের চেয়ে নুনির আরও সমৃদ্ধ বাক্য গঠন রয়েছে, যার অর্থ আপনি এমএসটিস্ট -> নুনিট থেকে যেতে পারেন তবে আপনি যদি খুব সতর্ক না হন তবে তার বিপরীতে নয়। ইতিহাস দেখায় আমাদের মধ্যে কমপক্ষে একজনও নেই।
টমাস আইডে

2
আমি থমাসের সাথে একমত। আপনি ধরে নিচ্ছেন যে আপনি সর্বাধিক বুনিয়াদী বক্তব্য ব্যবহার করছেন, কিন্তু এন ইউনাইট সীমাবদ্ধ মডেলটি খুব শক্তিশালী এবং এমএসটিস্টের উপরে নুনিট বেছে নেওয়ার পক্ষে যথেষ্ট কারণ।
চিহ্নিত করুন

আমি বিশ্বাস করি, এই পদ্ধতিটি এমটি প্যাটার্ন এবং এন্টলিব পরীক্ষায় অনুশীলন গোষ্ঠী গ্রহণ করেছে।
রবি-ই

1
@ ড্যান নীলি যদি আপনি এটি প্রাইভেট পরীক্ষা করে দেখেন যে আপনি এটি ভুল করছেন :(
জেডিপিচাম

2
@ জেডিপিচাম আমি বলছি না যে কোনও সরঞ্জাম দিয়ে কী করা উচিত বা করা উচিত নয় সেগুলির সম্মেলনগুলি গুরুত্বপূর্ণ নয়, তবে দিনের শেষে কাজটি করা সবচেয়ে গুরুত্বপূর্ণ বিষয়। যদি এর অর্থ হ্যাচেটের পিছনের দিকের সাথে পেরেক বেঁধে দেওয়া হয় কারণ সরঞ্জাম বিক্রেতারা হাতুড়ি বিক্রি করে না তবে হ্যাচিট প্রস্তুতকারীরা কেবল ক্ষোভের সাথে বাঁচতে চলেছেন।
ড্যান ইজ ফিডলিং ফায়ারলাইট

34

ভিএস 2008 বিল্ট-ইন ইউনিট টেস্টিং ফ্রেমওয়ার্কের সুবিধা / পরিবর্তনগুলি

  1. ২০০৮ সংস্করণটি এখন পেশাদার সংস্করণগুলিতে উপলব্ধ (এটির আগে ভিএস-এর ব্যয়বহুল সংস্করণ প্রয়োজন, এটি কেবলমাত্র বিকাশকারী ইউনিট পরীক্ষার জন্য)) যা কেবলমাত্র খোলা / বাহ্যিক পরীক্ষার ফ্রেমওয়ার্কের পছন্দ ছাড়া অনেকগুলি বিকাশকারীকে ছেড়ে যায়।
  2. একক সংস্থা দ্বারা সমর্থিত এপিআইতে অন্তর্নির্মিত।
  3. পরীক্ষা চালাতে ও তৈরি করতে একই সরঞ্জামগুলি ব্যবহার করুন (আপনি এগুলি কমান্ড লাইনটি এমএসটিস্ট ব্যবহার করে চালাতে পারেন)
  4. সাধারণ নকশা (কোনও মক ফ্রেমওয়ার্ক দেওয়া হয়নি, তবে এটি অনেক প্রোগ্রামারদের জন্য একটি দুর্দান্ত সূচনা পয়েন্ট)
  5. দীর্ঘমেয়াদী সমর্থন মঞ্জুর করা হয়েছে (এনডকের সাথে কী ঘটেছিল তা এখনও আমি মনে করি, আমি এমন একটি পরীক্ষার কাঠামোর প্রতিশ্রুতি রাখতে চাই না যা 5 বছরের মধ্যে সমর্থিত নাও হতে পারে, তবে আমি এখনও একটি দুর্দান্ত কাঠামো ননিকে বিবেচনা করি))
  6. যদি টিম ফাউন্ডেশন সার্ভারটিকে আপনার ব্যাকএন্ড হিসাবে ব্যবহার করে থাকে তবে আপনি সাধারণ ফ্যাশনে ব্যর্থ পরীক্ষার ডেটা দিয়ে কাজের আইটেম বা বাগ তৈরি করতে পারেন।

4
আমি মনে করি এটি এখনও মাইক্রোসফ্টের পরীক্ষার দৃষ্টিভঙ্গি সম্পর্কে বলছে যে এটি স্ট্যান্ডার্ড সংস্করণে নেই, কেবল পেশাদার এবং উপরের।
জে ওয়িনিয়া

সম্মত হন, আমি এটি স্ট্যান্ডার্ড এবং উচ্চতর ক্ষেত্রে দেখতে পছন্দ করব। এক্সপ্রেস সংস্করণগুলিতে এটি কোনও শিক্ষানবিশকে ওভারকিল করবে।
সিমারা

1
@ জে ভিনিয়া: কেবলমাত্র পেশাদার এবং উপরের বিষয়গুলিতে এটি অন্তর্ভুক্ত করার বিষয়ে তাদের সিদ্ধান্তটি পড়া কারণ পরীক্ষার বিষয়ে তাদের দৃষ্টিভঙ্গি সম্পর্কে কিছু বলা এতে খুব বেশি পড়া। এটি দার্শনিক সিদ্ধান্তের চেয়ে ব্যবসায়ের সিদ্ধান্তই বেশি।
জেসন

@ সিমারা পরীক্ষার জোরে বিকাশের জীবনচক্রের অন্তর্নিহিত হতে হবে। এটি চিৎকার করে এক্সপ্রেস সংস্করণগুলিতে সরবরাহ করা হবে।
ইজেন্ডার

33

আমি 2 বছর ধরে নুনিট ব্যবহার করছি। সব ঠিক আছে তবে আমার বলতে হবে ভিএস-তে ইউনিট সিস্টেমটি খুব সুন্দর কারণ এটি গুইয়ের অভ্যন্তরে এবং আরও সহজেই গণ্ডগোল না করে ব্যক্তিগত ফাংশনের জন্য পরীক্ষা করতে পারে do এছাড়াও, ভিএস এর ইউনিট টেস্টিং আপনাকে কভারিং এবং অন্যান্য জিনিসগুলি করতে দেয় যা কেবল ইউনাইটই করতে পারে না।


44
আপনার প্রাইভেটদের স্পর্শ করা উচিত নয়। সমস্ত কৌতুক একসাথে করা, এক বিদ্যালয়ের চিন্তাভাবনা হ'ল পরীক্ষার যে দরকার তা হ'ল আপনি সর্বজনীন পদ্ধতি। আপনার সমস্ত পাবলিক পদ্ধতিতে কল করার জন্য আপনার সমস্ত ব্যক্তিগত পদ্ধতি কল করা উচিত। যদি কোনও ব্যক্তিগত পদ্ধতির কোনও পাবলিকের মাধ্যমে না ডাকা হয়, তবে ব্যক্তিগত পদ্ধতিটি নিরর্থক।
লিভেন কের্মসেকার্স

7
@ লিভেন: আপনি যদি জনগণের ব্যক্তিগতকরণ পরীক্ষা করছেন তবে আপনি সত্যই একটি ইউনিট পরীক্ষা নয় বরং একটি সংহত পরীক্ষা করছেন। (অবশ্যই আমি টিডিডি জেলিয়ট নই এবং আমি সম্ভবত জনসাধারণের পরীক্ষা করবো ... তবে আমি লড়াই শুরু করতে সাহায্য করার মতো বোধ করছি)
ম্যাথু হোয়াইট

11
@ ম্যাথু, ইন্টিগ্রেশন টেস্টিং একসাথে দুই বা আরও বেশি ইউনিট পরীক্ষা করছে। ব্যক্তিগত পদ্ধতি পরীক্ষা করা কেবল এনক্যাপসুলেশনের লঙ্ঘন মাত্র এবং ভঙ্গুর ইউনিট পরীক্ষার দিকে পরিচালিত করতে পারে যা প্রয়োগের পরিবর্তনের সময় পরিবর্তিত হয়।
ওমর রাউচওয়ার্গার 19-15 ই

3
আপনি যখন আরটিএম বিল্ড তৈরি করছেন তখন এটি বের করার জন্য একটি সংকলক নির্দেশিকা সহ [সমাবেশ: ইন্টারনালভিজিবলটো (...)] ব্যবহার করতে পারেন।
আইয়েন

1
আমি আমার প্রাইভেটসগুলিকে সর্বদা স্পর্শ করি :) আমি মনে করি বিশেষত ব্যক্তিগত সদস্যদের টেস্টিং কলার থেকে ওভারহেড এড়ানোর জন্য বিশেষভাবে পরীক্ষা করার মূল্য রয়েছে যাগুলির জন্য অনেক জটিল সেটআপ দরকার।
ক্র্যাকারজ্যাক

14

ভিজ্যুয়াল স্টুডিওর পরীক্ষার কাঠামোর একটি সামান্য বিরক্তি হ'ল এটি অনেক পরীক্ষা চালিত ফাইল তৈরি করবে যা আপনার প্রকল্প ডিরেক্টরিকে বিশৃঙ্খলা করে - যদিও এটি কোনও চুক্তির মধ্যে এত বড় নয়।

এছাড়াও, যদি আপনার কাছে টেস্টড্রাইভন.এনইটি-র মতো প্লাগইন না থেকে থাকে তবে আপনি মাইক্রোসফ্ট ভিএস টেস্টিং ফ্রেমওয়ার্কের সাহায্যে ভিজুয়াল স্টুডিও পরিবেশের মধ্যে আপনার NUnit (বা MbUnit, xUnit, ইত্যাদি) ইউনিট পরীক্ষাগুলি ডিবাগ করতে পারবেন না।


3
আপনি ভিজ্যুয়াল স্টুডিও 2005 এর মধ্যে নুনিট পরীক্ষার ডিবাগ করতে পারেন
জেসন শর্ট

আপনি xunit ডিবাগও করতে পারেন তবে কীভাবে সেট আপ করবেন তা স্পষ্ট নয় (বৈশিষ্ট্য পৃষ্ঠা)
আন্নাকাটা

1
গ্রিমাসের মতো চলমান NUnit প্রসেসে ডিবাগারটি সংযুক্ত করে আপনি সহজেই নুনিটকে ডিবাগ করতে পারেন said এখানে আসল অসুবিধা নেই।
অ্যান শোয়সলার

1: ভিএস সেটিংসে কনফিগারযোগ্য পরীক্ষার সংখ্যা - আমি এটি সেট করেছিলাম। 2: উপরের মন্তব্যগুলির সাথে একমত - সম্ভাব্য তবে বিশ্রী, 3: সামগ্রিকভাবে, আমি ভিএস পরীক্ষার পরিবেশে বিল্টটি পছন্দ করি prefer
রাউলরবিন

14

সামান্য সামান্য অফ-টপিক, তবে আপনি যদি ইউনাইটের সাথে যান তবে আমি রিসার্পার ব্যবহারের পরামর্শ দিতে পারি - এটি ভিএস ইউআইতে কিছু বোতাম যুক্ত করে যা আইডিইর মধ্যে থেকে পরীক্ষা চালানো এবং ডিবাগ করতে খুব সহজ করে তোলে।

এই পর্যালোচনাটি সামান্য পুরানো, তবে আরও বিশদে এটি ব্যাখ্যা করে:

http://codebetter.com/blogs/paul.laudeman/archive/2006/08/15/Using-ReSharper-as-an-essential-part-of-your-TDD-toolkit.aspx


গ্যালিও প্লাগিনটি আর # তে আপনি এমএসটিস্টও চালাতে পারবেন।
কেজেটিল ক্লাউসেন

কোডআরশ টেস্টগুলিতে আইকনগুলি ঠিক কোডে রাখে যাতে আপনি একটি পরীক্ষা চালাতে পারেন, বা একটি ক্লাসে বা একটি নেমস্পেসে সমস্ত পরীক্ষা চালাতে পারেন। এখানে দেখুন: কমিউনিটি.ডিভ
রায়ান লুন্ডি

রিসার্চার এমএসটিস্ট পরীক্ষাও চালাবে।
জেডিপিচাম

11

গ্রিনফিল্ড প্রকল্পের জন্য এক্স ইউনাইট আরেকটি সম্ভাবনা। এটি সম্ভবত আরও স্বজ্ঞাত সিন্ট্যাক্স পেয়েছে তবে এটি অন্যান্য ফ্রেমওয়ার্কগুলির সাথে সত্যই সামঞ্জস্যপূর্ণ নয়।

http://www.codeplex.com/xunit


11

NUnit- এর উপরে ভিএস ইউনিট পরীক্ষার সাথে আমার প্রধান গরুর মাংস ভিএস পরীক্ষা তৈরির দ্বারা ব্যক্তিগত সদস্য অ্যাক্সেসের জন্য উত্পন্ন কোডের একগুচ্ছ ইনজেকশন প্রবণতা।

কেউ কেউ তাদের ব্যক্তিগত পদ্ধতি পরীক্ষা করতে চাইতে পারে, কেউ নাও পারে, এটি ভিন্ন বিষয়।

আমার উদ্বেগ হ'ল আমি যখন ইউনিট পরীক্ষা লিখছি তখন সেগুলি অত্যন্ত নিয়ন্ত্রণ করা উচিত তাই আমি জানি আমি কী পরীক্ষা করছি এবং ঠিক কীভাবে এটি পরীক্ষা করছি testing যদি স্বয়ংক্রিয় উত্পন্ন কোড থাকে তবে আমি সেই মালিকানার কিছু হারাচ্ছি।


11

আমি উভয়টি ব্যবহার করে কিছু টিডিডি করেছি এবং (সম্ভবত আমি কিছুটা বোবা) নুনিট আমার কাছে ব্যবহার করা অনেক দ্রুত এবং সহজ বলে মনে হচ্ছে। এবং যখন আমি অনেক কিছু বলি, তখন আমার অর্থ অনেক বেশি।

এমএস টেস্টে, অনেকগুলি অ্যাট্রিবিউট রয়েছে, সর্বত্র - যে কোডটি আসল পরীক্ষা করে তা হ'ল আপনি এখানে এবং সেখানে পড়তে পারেন এমন ছোট্ট রেখাগুলি। একটা বড় গন্ডগোল নুনিতে, পরীক্ষা করা কোডটি কেবলমাত্র বৈশিষ্ট্যগুলিকে প্রাধান্য দেয়, যেমন এটি করা উচিত।

এছাড়াও, ইউনাইট-এ, আপনি যে পরীক্ষাগুলি চালাতে চান তার উপর ক্লিক করতে হবে (কেবলমাত্র একটি? সমস্ত পরীক্ষা একটি ক্লাসের আচ্ছাদন? একটি সমাবেশ? সমাধান?)। এক ক্লিক. এবং উইন্ডোটি পরিষ্কার এবং বড়। আপনি পরিষ্কার সবুজ এবং লাল আলো পান। এক দর্শনে কী ঘটেছিল তা আপনি সত্যই জানেন।

ভিএসটিএসে, পরীক্ষার তালিকাটি স্ক্রিনের নীচে জ্যাম হয়, এটি ছোট এবং কুশ্রী। কী হয়েছে তা জানতে আপনাকে দু'বার তাকাতে হবে। এবং আপনি কেবল একটি পরীক্ষা চালাতে পারবেন না (ভাল, আমি এখনও এটি খুঁজে পাইনি!)।

তবে আমি অবশ্যই ভুল হতে পারি - আমি "ভিএসটিএস ব্যবহার করে কীভাবে সহজ টিডিডি করব" সম্পর্কে প্রায় 21 টি ব্লগ পোস্ট পড়েছি। আমার আরও পড়া উচিত ছিল, আপনি ঠিক বলেছেন।

ইউনাইটের জন্য, আমি একটি পড়েছি। এবং আমি একই দিন টিডিডিং করছিলাম। মজাদার সাথে।

যাইহোক, আমি সাধারণত মাইক্রোসফ্ট পণ্য পছন্দ করি। কোনও বিকাশকারী কিনতে পারেন সত্যই ভিজ্যুয়াল স্টুডিও সেরা সরঞ্জাম - তবে ভিজ্যুয়াল স্টুডিও টিম সিস্টেমে টিডিডি এবং ওয়ার্ক আইটেম পরিচালনটি সত্যই ডাকে।

শুভকামনা. Sylvain।


9

আমি বার্তা পেয়েছি যে "নুনিট ফাইলের কাঠামো ভিএসটিস্টের চেয়ে সমৃদ্ধ" ... অবশ্যই আপনি যদি নুনিট ফাইল কাঠামোটিকে পছন্দ করেন তবে আপনি এই সমাধানটি অন্য উপায়ে ব্যবহার করতে পারেন, (নুনিটি-> ভিএস):

 #if !MSTEST
  using NUnit.Framework;
 #else
  using Microsoft.VisualStudio.TestTools.UnitTesting;
  using TestFixture = Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute;
  using Test = Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute;
  using SetUp = Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute;
  using TearDown = Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute;
 #endif

বা অন্য কোনও রূপান্তর ... :-) এখানে ব্যবহার করে এটি সংকলকটির জন্য কেবলমাত্র উপনাম।


1
আপনি এখানে কী বলছেন তা আমি বুঝতে পারি না।
PositiveGuy

কোনও ফিক্সচার লেভেল সেটআপ / টিয়ারডাউন নেই :( বা তারা কি ধরে নিয়েছে যে আমরা ctor এবং dtor ব্যবহার করি?
জেডিপিচাম

9

প্রথমে আমি একটি ভুল বিবৃতি সংশোধন করতে চাই: আপনি কমান্ড লাইন ব্যবহার করে ভিজ্যুয়াল স্টুডিওর বাইরে এমএসটিস্ট চালাতে পারেন। যদিও টিমসিটির মতো বেশ কয়েকটি সিআই সরঞ্জামগুলিতে নুনিটের জন্য আরও ভাল সমর্থন রয়েছে (এমএসটিস্ট আরও জনপ্রিয় হওয়ার সাথে সাথে সম্ভবত এটি পরিবর্তিত হবে)। আমার বর্তমান প্রকল্পে আমরা উভয়ই ব্যবহার করি এবং আমরা কেবলমাত্র বৃহত পার্থক্যটি পেয়েছি যে এমএসেস্ট সর্বদা 32 বিবিট হিসাবে চালিত হয় যখন NUnit হয় 32 বিট বা 64 বিট পরীক্ষার মতো চলে যা আপনার কোডটি 32/64 নির্ভরশীল যদি স্থানীয় কোড ব্যবহার করে তবেই তা গুরুত্বপূর্ণ।


8

আমি এমএসটিস্ট দিয়ে শুরু করেছি তবে একটি সাধারণ কারণে স্যুইচ করেছি। এমএসটিস্ট অন্যান্য অ্যাসেমব্লির টেস্ট পদ্ধতিগুলির উত্তরাধিকার সমর্থন করে না।

আমি একই পরীক্ষা একাধিকবার লেখার ধারণাটিকে ঘৃণা করি। বিশেষত একটি বড় প্রকল্পে যেখানে পরীক্ষার পদ্ধতিগুলি সহজেই 100 এর পরীক্ষায় চলে যেতে পারে।

নুনিট আমার প্রয়োজন মতো নিখুঁতভাবে কাজ করে। কেবলমাত্র নুনিটের সাথে অনুপস্থিত যা হ'ল ভিজ্যুয়াল স্টুডিও অ্যাডিন যা প্রতিটি পরীক্ষার লাল / সবুজ স্ট্যাটাস (ভিএসটিএসের মতো) প্রদর্শন করতে পারে।



7

আপনি যদি এমএসটিস্ট বা নুনিট বিবেচনা করে থাকেন তবে আমি আপনাকে এমবিউনিতটি দেখার পরামর্শ দিই। আমার কারণগুলি

  1. টেস্টড্রাইভন.নেট সামঞ্জস্য। টেস্টড্রাইভন.নোট.রেউনবিথডিবুগার কোনও কিবোর্ডের সংমিশ্রণে আবদ্ধ নেই be
  2. গ্যালিও কাঠামো গ্যালিও নুনিটের মতো একটি পরীক্ষামূলক রানার। পার্থক্য হ'ল আপনি যদি nunnit, msTest, xUnit বা mbUnit- এ আপনার পরীক্ষা লিখে থাকেন তবে তা বিবেচ্য নয়। তারা সবাই রান করে।
  3. নুনিটের সাথে সামঞ্জস্য। NUnit এর সমস্ত বৈশিষ্ট্য এমবিউনিত দ্বারা সমর্থিত। আমি মনে করি আপনাকে এমনকি আপনার বৈশিষ্ট্যগুলিও পরিবর্তন করতে হবে না (কেবল এটি আপনার পরীক্ষা করতে হবে), কেবল আপনার রেফারেন্স এবং ইউএসিং।
  4. সংগ্রহ দৃser়। এমবিউনিতের কালেকশনএসার্ট ক্লাস সহ আরও বেশি সংস্থান মামলা রয়েছে। মূলত 2 টি সংগ্রহ একই হয় কিনা তা দেখার জন্য আপনাকে আর নিজের পরীক্ষা লিখতে হবে না।
  5. সম্মিলিত পরীক্ষা। আপনি দুটি সেট ডেটা সরবরাহ করতে এবং ডেটার সমস্ত সংমিশ্রনের জন্য একটি পরীক্ষা পেতে পারলে এটি শীতল হবে না। এটি এমবিউনিটে রয়েছে।

আমি মূলত এর [রোস্টেস্ট ....] কার্যকারিতাটি এমবিউনিতকে তুলে নিয়েছি এবং ফিরে যাওয়ার কোনও কারণ খুঁজে পাইনি। আমি আমার সমস্ত সক্রিয় পরীক্ষার স্যুটগুলিকে নুনিট থেকে সরিয়ে নিয়েছি এবং আর কখনও পিছন ফিরে তাকাতে পারি নি। তার পর থেকে আমি দুটি পৃথক উন্নয়ন দলকে সুবিধার জন্য রূপান্তর করেছি।


6

যতদূর আমি জানি, আজকাল নেট নেট দিয়ে ইউনিট পরীক্ষার জন্য একটি চারটি ফ্রেমওয়ার্ক রয়েছে

  • NUnit
  • MbUnit
  • MSTest
  • xUnit

ইউনিত সবসময় সামনে ছিল তবে গত বা তারও অনেক পরে ব্যবধানটি বন্ধ হয়ে গেছে। আমি এখনও নিজেকে নুনিটকেই পছন্দ করি, বিশেষত যখন তারা কিছুটা আগে সাশ্রয়ী ইন্টারফেস যুক্ত করেছিল যা পরীক্ষাগুলি খুব পাঠযোগ্য able

যদি আপনি কেবল ইউনিট পরীক্ষার সাথে এটি শুরু করছেন তবে এটি সম্ভবত খুব বেশি পার্থক্য করে না। আপনি গতি বাড়ানোর পরে আপনি আপনার প্রয়োজনের জন্য কোন কাঠামো সবচেয়ে ভাল তা বিচার করার জন্য আরও ভাল অবস্থানে থাকবেন।


6

আমি ভিএস বিল্ট-ইন টেস্টিং ফ্রেমওয়ার্ক পছন্দ করি না কারণ এটি আপনাকে পরীক্ষা করছে এমন প্রকল্পের অংশ হিসাবে আপনার পরীক্ষা করার বিপরীতে পৃথক প্রকল্প তৈরি করতে বাধ্য করে।


3
আপনি প্রকল্পের ফাইলগুলি ম্যানুয়ালি সম্পাদনা করে এবং পরীক্ষার প্রকল্পগুলি সনাক্ত করতে প্রজেক্ট টাইপগুইডস মানগুলিতে যুক্ত করে ভিজ্যুয়াল স্টুডিওটিকে বোকা বানাতে পারেন: & lt; প্রজেক্টটাইপগুইডস & gt; AC 3AC096D0-A1C2-E12C-1390-A8335801FDAB 11; E FAE04EC0-301F-113 BF4B-00C04F79EFBC} করুন & lt; / ProjectTypeGuids করুন & gt;
পল রুনে

5

এমএসটিস্টটি মূলত কয়েকটি নতুন বৈশিষ্ট্য (যেমন এসেম্বলি সেটআপ এবং টিয়ারডাউন, কেবল ফিক্সচার এবং টেস্ট স্তর নয়) সহ কিছুটা নতুন কাজ করেছে, এবং সেরা বিটগুলির মধ্যে কিছু হারিয়েছে (যেমন নতুন 2.4 সীমাবদ্ধ বাক্য গঠন)। ইউনাইট আরও পরিপক্ক, এবং অন্যান্য বিক্রেতাদের কাছ থেকে এটির জন্য আরও সমর্থন রয়েছে; এবং অবশ্যই এটি সর্বদা নিখরচায় ছিল (যদিও এমএসটিস্ট কেবল এটি ২০০৮ সালের পেশাদার সংস্করণে তৈরি করেছিল, এর আগে এটি আরও ব্যয়বহুল এসকিউগুলিতে ছিল), বেশিরভাগ ALT.NET প্রকল্প এটি ব্যবহার করে।

এই বলে যে, কিছু সংস্থা রয়েছে এমন কিছু ব্যবহার করতে অবিশ্বাস্যভাবে অনিচ্ছুক যার মাইক্রোসফ্ট লেবেল নেই এবং বিশেষত ওএসএস কোড রয়েছে। সুতরাং একটি অফিসিয়াল এমএস পরীক্ষার কাঠামো থাকা সেই অনুপ্রেরণা হতে পারে যেগুলি সেই সংস্থাগুলি পরীক্ষার জন্য প্রয়োজন; এবং আসুন সত্য কথা বলুন, এটি টেস্টিংয়ের বিষয়টি গুরুত্বপূর্ণ, আপনি কোন সরঞ্জামটি ব্যবহার করেন না (এবং উপরে টুওমাস হিটেনেনের কোড ব্যবহার করে , আপনি প্রায় আপনার পরীক্ষার কাঠামোটিকে বিনিময়যোগ্য করতে পারেন)।


আমি নুনির কনট্রিন্ট সিনট্যাক্স পছন্দ করি তবে আমার মনে হয় আপনার এগুলিSetUp এবং গুণাবলীটি পড়তে হবে TearDown: jamesnewkirk.typepad.com/posts/2007/09/why-you-should-.html
কেউ

4

কোড কন্ট্রাক্ট সিস্টেমের .NET 4.0 এ রিলিজ এবং একটি স্ট্যাটিক চেকারের প্রাপ্যতার সাথে , আপনাকে তাত্ত্বিকভাবে কম পরীক্ষার কেস এবং পেক্সের মতো একটি সরঞ্জাম লেখার প্রয়োজন হবে হবে সেগুলি সনাক্ত করতে সহায়তা করবে। এটিকে আলোচনার সাথে সম্পর্কিত করে যদি আপনার ইউনিট পরীক্ষাগুলি নিয়ে আপনার যদি কম কাজ করার প্রয়োজন হয় কারণ আপনার চুক্তিগুলি আপনার লেজটি coveringেকে রাখে, তবে কেন কেবল এগিয়ে যান এবং বিল্ট-ইন টুকরা ব্যবহার করবেন না কেননা এটি পরিচালনা করা একটি কম নির্ভরতা। আজকাল, আমি সরলতা সম্পর্কে সব। :-)

আরো দেখুন:


3

আমি এমএসের সামান্য পরীক্ষার কাঠামোটি ব্যবহার করতে পছন্দ করব, তবে আপাতত নুনিটের সাথে আঁকছি। এমএসের সমস্যাগুলি সাধারণত (আমার জন্য)

  • ভাগ করা "পরীক্ষা" ফাইল (অর্থহীন) যা অবশ্যই বজায় রাখতে হবে
  • পরীক্ষার তালিকাগুলি একাধিক বিকাশকারী / ভিসিএসের সাথে দ্বন্দ্ব সৃষ্টি করে
  • দুর্বল ইন্টিগ্রেটেড ইউআই - বিভ্রান্তিকর সেটআপ, ভারী পরীক্ষার নির্বাচন
  • ভাল বাহ্যিক রানার নেই

ক্যাভেটস - যদি আমি একটি এসপেক্স সাইটটি পরীক্ষা করতাম তবে আমি অবশ্যই এমএস ব্যবহার করতাম - যদি আমি একক বিকাশ করতাম তবে এমএসও ভাল হত - যদি আমার দক্ষতা সীমিত থাকে এবং NUnit কনফিগার করতে না পারি :)

আমি কেবল আমার পরীক্ষাগুলি লিখতে এবং NUnitGUI বা অন্য সামনের প্রান্তগুলিতে আগুন জ্বালিয়ে ফেলা অনেক সহজ বলে মনে করি (টেস্টড্রাইভেন এখন পর্যন্ত অনেক বেশি দামের অতিরিক্ত)। কমান্ডলাইন সংস্করণ দিয়ে ডিবাগ সেট আপ করাও বেশ সহজ।


এই মুহুর্তে আমি এমএস টেস্টগুলি চালানোর জন্য রিশার্পার ব্যবহার করছি, তাই এগুলিতে আমি কিছু মনে করি না। আমি কোডআরশ + রিফ্যাক্টরপ্রো পছন্দ করি, যদিও আমরা এখানে এটি ব্যবহার করি না। তারা এখন এমএস টেস্টের জন্য একটি ভাল রানার থাকতে পারে।
অ্যান্ড্রু ব্যাকার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.