回答:
確かに、2つの間にいくらかの重複があります。NUnitは前身であり、結果としてより成熟しています。C#単体テストフレームワークは新しいですが、Visual Studioと統合されています。
私はJUnitが主流であるJavaの世界から来ました(他にもありますが、人気があるものはありません)。NUnit2.5.xは、JUnit 4の動作に非常によくマッチしています。実際、Javaの同等品よりもはるかに優れた機能を発揮します。
テスト定義に関する限り、私はNUnitを好みます。Sure MS Testには、クラスに適用する類似の(ただし異なる)属性がありますが、特定のタイプのテストでの作業を節約できる機能が不足していると思います。StackOverflowの同様の議論をチェックしてください。
NUnitに組み込まれた新しいアサーションモデル(Hamcrestスタイルのアサートを使用している)は、読みやすく拡張しやすいため気に入っています。
TFSから専用のMSBUILDサーバーで実行するビルドスクリプトを作成しなければならなかったときに気付いた唯一の本当の違いは、nUnitのセットアップとnUnitテスト結果の取得が本当に苦痛だったので、セットアップとMSTestの結果の取得は簡単でした。
また、テストランナーからMSTestテストを実行できなかったResharperに問題がありました。新しいバージョンではこれは修正されているため、Resharperの古いバージョンを使用している場合でも問題になる可能性があります。
この郵便受けRoy Oshereveからのは、まだ素晴らしい概要です。
ps:私の他の答えを削除しました。まったく役に立ちませんでした。
また、Gallio / MbUnitをご覧になることをお勧めします。Gallio/ MbUnitは、多くの高度な機能で知られています。Gallio wikiには素晴らしいチュートリアルがあります。