Pada saat menulis jawaban ini, versi NUnit terbaru adalah v3.5 dan xUnit.net adalah v2.1.
Kedua kerangka kerja itu mengagumkan, dan keduanya mendukung pengujian paralel yang berjalan (meskipun dengan cara yang berbeda). NUnit telah ada sejak 2002, ini banyak digunakan, didokumentasikan dengan baik dan memiliki komunitas yang besar, sedangkan xUnit.net lebih modern, lebih patuh pada TDD, lebih dapat diperluas, dan juga tren dalam pengembangan .NET Core. Itu juga didokumentasikan dengan baik.
Selain itu, perbedaan utama yang saya perhatikan adalah cara xUnit.net menjalankan metode pengujian. Jadi, di NUnit , kami memiliki kelas pengujian dan satu set metode pengujian di dalamnya. NUnit membuat instance baru dari kelas pengujian dan kemudian menjalankan semua metode pengujian dari instance yang sama. Sedangkan xUnit.net membuat instance baru dari kelas pengujian untuk setiap metode pengujian. . Oleh karena itu, seseorang tidak dapat menggunakan bidang atau properti untuk berbagi data di antara metode pengujian yang merupakan praktik yang buruk, karena metode pengujian kami akan bergantung satu sama lain yang tidak dapat diterima di TDD. Jadi jika Anda menggunakan xunit.net Anda dapat yakin bahwa metode pengujian Anda benar-benar terisolasi.
Jika Anda ingin membagikan beberapa data di antara metode pengujian Anda, xUnit akan membiarkan Anda melakukannya. Oleh karena itu, secara default semua metode pengujian diisolasi sepenuhnya, tetapi Anda dapat menghentikan isolasi ini dalam kasus tertentu dengan sengaja. Saya menyukai sikap ini, itulah mengapa saya lebih menyukainya.