Il y a certainement un certain chevauchement entre les deux. NUnit est le prédécesseur, et par conséquent plus mature. Le framework de test unitaire C # est plus récent, mais intégré à Visual Studio.
Je viens du monde Java où JUnit est roi (il y en a d'autres, mais aucun n'est aussi populaire), et NUnit 2.5.x correspond vraiment à la façon dont JUnit 4 fonctionne. En fait, cela fonctionne beaucoup mieux que son homologue Java.
En ce qui concerne la définition du test, je suis favorable à NUnit. Bien sûr, MS Test a des attributs similaires (mais différents) que vous appliquez à vos classes, mais je pense qu'il manque certaines fonctionnalités qui peuvent vous faire économiser du travail sur certains types de tests. Vous voudrez peut-être consulter une discussion similaire sur StackOverflow .
J'aime le nouveau modèle d'assertion intégré à NUnit (il utilise les assertions de style Hamcrest ) car ils sont à la fois faciles à lire et facilement extensibles.
- NUnit aura un meilleur support tiers, MS Test aura une meilleure intégration (prête à l'emploi).
- NUnit aura une meilleure flexibilité et extensibilité, MS Test souffrira dans ce domaine.
- Les deux exécutent des tests unitaires et vérifient vos résultats, les deux fonctionneront pour TDD.