Ответ 1
Ответы устарели, поэтому я решил предоставить обновление: На момент написания этого ответа последняя версия NUnit была v3.5, а xUnit.net - v2.1
Обе платформы великолепны, они поддерживают параллельное выполнение тестов (хотя и по-разному), NUnit существует с 2002 года, он широко используется, хорошо документирован и имеет большое сообщество, тогда как xUnit.net является более современным, более привязанным к TDD и более расширяемым, а также популярным в разработке ядра .net. Это также хорошо задокументировано.
В дополнение к этому, основное отличие, которое я заметил, заключается в том, что xUnit.net выполняет методы тестирования. Итак, в NUnit у нас есть тестовый класс и набор тестовых методов в нем. NUnit создает новый экземпляр класса test, а затем запускает все методы tests из одного экземпляра. Принимая во внимание, что xUnit.net создает новый экземпляр класса test для каждого из методов тестирования.. Поэтому нельзя использовать поля или свойства для обмена данными между методами тестирования, что является плохой практикой, поскольку наши методы тестирования будут зависеть друг от друга, что недопустимо в TDD. Поэтому, если вы используете xunit.net, вы можете быть уверены, что ваши методы тестирования полностью изолированы.
Если вы готовы поделиться некоторыми данными между вашими методами тестирования, xUnit позволит вам это сделать. Следовательно, по умолчанию все методы тестирования полностью изолированы, но вы можете намеренно нарушить эту изоляцию в определенных случаях. Мне нравится это отношение, поэтому оно мне нравится больше.