C'è sicuramente una certa sovrapposizione tra i due. NUnit è il predecessore e, di conseguenza, più maturo. Il framework C # Unit Test è più giovane, ma integrato con Visual Studio.
Sono venuto dal mondo Java in cui JUnit è il re (ce ne sono altri, ma nessuno è così popolare) e NUnit 2.5.x è un ottimo abbinamento al modo in cui funziona JUnit 4. In effetti, funziona molto meglio della controparte Java.
Per quanto riguarda la definizione del test, sono favorevole a NUnit. Sicuramente MS Test ha attributi simili (ma diversi) che applichi alle tue classi, ma credo che manchino alcune funzionalità che possono farti risparmiare un po 'di lavoro su alcuni tipi di test. Potresti voler controllare una discussione simile su StackOverflow .
Mi piace il nuovo modello di asserzione incorporato in NUnit (sta utilizzando i Hamcrest asserzioni di stile) perché sono entrambi facili da leggere e facilmente estensibili.
- NUnit avrà un migliore supporto di terze parti, MS Test avrà una migliore integrazione (pronta all'uso).
- NUnit avrà una maggiore flessibilità ed estensibilità, MS Test ne risentirà in questo ambito.
- Entrambi eseguono test unitari e controllano i risultati, entrambi funzioneranno per TDD.