ইউনাইট বনাম এক্স ইউনিত


116

NUnit এবং xUnit.net এর মধ্যে পার্থক্য কী ? তাদের দু'টিই বিকাশের মূল বিষয় কী, কেবল একটি নয়?

আমি পড়েছি যে এক্স ইউনিতটি নুনিতের উদ্ভাবক দ্বারা বিকাশ করা হচ্ছে:

xUnit.net। নেট ফ্রেমওয়ার্কের জন্য একটি ইউনিট পরীক্ষার সরঞ্জাম। নূনিতের মূল উদ্ভাবক লিখেছেন

অন্য দিকে:

NUnit সকল। নেট ভাষাগুলির জন্য একক-পরীক্ষার কাঠামো .. বর্তমান উত্পাদন রিলিজ, সংস্করণ 2.6, এই xUnit ভিত্তিক ইউনিট পরীক্ষার সরঞ্জামের সপ্তম প্রধান রিলিজ

তাহলে সত্য কোথায়?


4
@ জোয়ি যেমন উল্লেখ করেছেন - এটি লিঙ্কযুক্ত প্রশ্নের কোনও সরাসরি নকল নয়। এই ক্ষেত্রে, ওপি মৌলিকভাবে কিছু ভুল বুঝেছে; অর্থাত্ xUnit.net - ইউনিট পরীক্ষার সরঞ্জাম এবং এক্স ইউনিটের মধ্যে পার্থক্য - ইউনিট পরীক্ষার ফ্রেমওয়ার্কের শ্রেণীর জন্য সাধারণীকরণ শব্দ (nUnit, jUnit, ইত্যাদি)। পুনরায় খুলতে ভোট।
রব লেভাইন

উত্তর:


141

এই উত্তরটি লেখার সময় সর্বশেষতম নুনিট সংস্করণটি v3.5 এবং xUnit.net হল v2.1।

উভয় ফ্রেমওয়ার্কগুলি দুর্দান্ত they নুনিট প্রায় ২০০২ সাল থেকে রয়েছে, এটি ব্যাপকভাবে ব্যবহৃত হয়েছে, ভাল ডকুমেন্টেড রয়েছে এবং একটি বিশাল সম্প্রদায় রয়েছে, যেখানে xUnit.net আরও আধুনিক, আরও টিডিডি অনুগামী, আরও এক্সটেনসিবল, এবং নেট কোর বিকাশে ট্রেন্ডিং রয়েছে। এটিও ভালভাবে নথিভুক্ত।

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

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


5
আরও তথ্যের জন্য আমার সর্বশেষ পোস্টটি দেখুন: codopia.wordpress.com/2017/02/20/…
একাজেমিস

4
সমান্তরাল সম্পাদন সম্পর্কে আপনি যা লেখেন তা সত্য নয়। সম্ভবত এটি আপনার পোস্টের সময় ছিল তবে এখন তা নয়। এই xunit.net/docs/running-tests-in- সমান্তরাল দেখুন । এটি বলে যে এক শ্রেণিতে পরীক্ষার পদ্ধতি কখনও সমান্তরালভাবে চলবে না।
গন্ডিল

ধন্যবাদ @ গন্ডিল, আপনি ঠিক বলেছেন, এটি একক শ্রেণির পদ্ধতি সমান্তরালে চলবে না। সমান্তরালতা বিট টুইট করেছেন
akazemis

4
আমি নিশ্চিত না যে আপনি কীভাবে xUnit "ভাল ডকুমেন্টেড" আছে তা খুঁজে পেয়েছেন, যেমন এটি পরিষ্কারভাবে দেয় না। NUnit এর মতো ভাল ডকুমেন্টেশনের পরিবর্তে সম্প্রদায় উত্স এবং স্ট্যাকওভারফ্লো প্রশ্নগুলির মাধ্যমে সমস্ত তথ্য সন্ধান করতে হবে। আমি আপনার উত্তরের পরে xUnit সম্পর্কে সত্যিই আগ্রহী ছিলাম, কিন্তু অনুভব করেছি যে NNnit .NET কোর তেও ভাল কাজ করছে।
কুলারবাইটস

4
@ লোডারন আমি পোস্ট করেছি যে প্রায় 4 বছর আগে এবং আমি তখন থেকে এখন অবধি xunit ব্যবহার করে আসছি। ডকুমেন্টেশন এবং সম্প্রদায়টি আগের চেয়ে অনেক ভাল এবং এখন এটি আরও পরিপক্ক। সুতরাং মানসিক শান্তির সাথে XUnit ব্যবহার করুন, আপনাকে NUnit এ ফ্যালব্যাক লাগবে না। :)
একাজেমিস

34

আপনি একক সরঞ্জামের ( xUnit.net ) ইউনিট টেস্টিং ফ্রেমওয়ার্কের পুরো শ্রেণীর নাম ( xUnit , এক্স কোনও ভাষা / পরিবেশ, যেমন জুনিট, নুনিট, ...) এর নামের সাথে বিভ্রান্ত করছেন ।


4
মমত্ববোধটি এটি বন্ধ হয়ে গেছে, যেহেতু এটি কোনও সরল সদৃশ নয় - আপনি ঠিক বলেছেন - দুটি শর্তের মধ্যে প্রায় একই রকম ওপি বিভ্রান্ত হয়ে পড়েছে।
রব লেভাইন

কোনও বিভ্রান্তি হবে না তা নিশ্চিত করার জন্য আমি শিরোনামটি কিছুটা পরিবর্তন করেছি।
রুসলান

4
আমি শিরোনামটি দিয়ে যাইনি বরং আপনার প্রশ্নের উদ্ধৃতিগুলির হাইলাইটেড বিভাগগুলি। তবে আমি আপনাকে ভুল বুঝেছি।
জোয়

9

xUnit পেশাদাররা:

xUnit পুরানো "সেটআপ" এবং "টিয়ারডাউন" পদ্ধতি এড়িয়ে একটি নতুন ধারণা অনুসরণ করে। এটি আমাদেরকে নেট নেট ডেভেলপার হিসাবে করণীয় হিসাবে আইডিস্পোজেবল এবং কনস্ট্রাক্টর ব্যবহার করতে বাধ্য করে। এছাড়াও xUnit এর একটি স্পষ্ট প্রসঙ্গ শেয়ারিং ধারণা রয়েছে।

এক্স ইউনাইট কনস:

পরীক্ষার প্রসঙ্গ পাওয়ার জন্য উপলভ্যতা এখনও কার্যকর করা হয়নি।


4
কি "পরীক্ষা প্রসঙ্গ" ? এতক্ষণে তা বাস্তবায়ন হয়েছে কি?
পিটার মর্টেনসেন

পরীক্ষার প্রেক্ষাপট আমাদের বর্তমান পরীক্ষার তথ্য দেয় (উদাহরণস্বরূপ পরীক্ষার নাম)। । আমি যা সচেতন এটি সম্ভবত এখনো :( বাস্তবায়িত হয়নি থেকে
Shoter

8

XUnit এর একটি সুবিধা হ'ল এটি বিভিন্ন শ্রেণিতে পরীক্ষাগুলি খুঁজে পায়; এটি তাদের সমান্তরালে চালায় । আপনার যদি অনেক পরীক্ষার মামলা হয় তবে এটি অনেক সময় সাশ্রয় করতে পারে।

আপনি অবশ্যই এটি বন্ধ করতে পারেন, বা এর ক্রিয়াকলাপটি নিয়ন্ত্রণ করতে পারেন (থ্রেডের সংখ্যা, ক্লাস প্রতি থ্রেডের সংখ্যা, সমাবেশ প্রতি পরীক্ষা ইত্যাদি)

দুটি পরীক্ষা প্রকল্পের সাথে এই নমুনা সমাধানটি পরীক্ষা করে দেখুন, একটিতে অন্য NUnit ব্যবহার করে

আপনি এখানে এক্স ইউনাইটে সমান্তরাল পরীক্ষা সম্পর্কে আরও পড়তে পারেন ।


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