इस उत्तर को लिखने के समय नवीनतम NUnit संस्करण v3.5 है और xUnit.net v2.1 है।
दोनों चौखटे भयानक हैं, और वे दोनों समानांतर परीक्षण चलाने का समर्थन करते हैं (हालांकि एक अलग तरीके से)। NUnit 2002 के आसपास रहा है, यह व्यापक रूप से उपयोग किया जाता है, अच्छी तरह से प्रलेखित है और इसका एक बड़ा समुदाय है, जबकि xUnit.net अधिक आधुनिक, अधिक TDD के अनुयायी, अधिक एक्सटेंसिबल, और .NET कोर विकास में भी ट्रेंडिंग है। यह भी अच्छी तरह से प्रलेखित है।
इसके अलावा, मुख्य अंतर जो मैंने देखा है वह यह है कि xUnit.net परीक्षण विधियों को चलाता है। इसलिए, NUnit में , हमें एक परीक्षण वर्ग और उसमें परीक्षण विधियों का एक सेट मिला है। NUnit परीक्षण वर्ग का एक नया उदाहरण बनाता है और फिर उसी उदाहरण से सभी परीक्षण विधि चलाता है। जबकि xUnit.net परीक्षण विधियों में से प्रत्येक के लिए परीक्षण वर्ग का एक नया उदाहरण बनाता है। । इसलिए, कोई परीक्षण विधियों के बीच डेटा साझा करने के लिए फ़ील्ड या गुणों का उपयोग नहीं कर सकता है, जो एक बुरा अभ्यास है, क्योंकि हमारे परीक्षण तरीके एक-दूसरे पर निर्भर होंगे जो TDD में स्वीकार्य नहीं है। इसलिए यदि आप xunit.net का उपयोग करते हैं, तो आप सुनिश्चित कर सकते हैं कि आपके परीक्षण के तरीके पूरी तरह से अलग हैं।
यदि आप अपने परीक्षण विधियों के बीच कुछ डेटा साझा करने के लिए तैयार हैं, तो xUnit आपको ऐसा करने देगा। इसलिए, डिफ़ॉल्ट रूप से सभी परीक्षण विधियां पूरी तरह से पृथक हैं, लेकिन आप विशिष्ट रूप से विशिष्ट मामलों में इस अलगाव को तोड़ सकते हैं। मुझे यह रवैया पसंद है, यही कारण है कि मुझे यह पसंद है।