Я знаю, что это старая ветка, но я решил опубликовать голосование за xUnit.NET . Хотя большинство других упомянутых сред тестирования в значительной степени одинаковы, xUnit.NET использует довольно уникальный, современный и гибкий подход к модульному тестированию. Это меняет терминологию, поэтому вы больше не определяете TestFixtures и Tests ... вы указываете факты и теории о вашем коде, что лучше интегрируется с концепцией того, что такое тест с точки зрения TDD / BDD.
xUnit.NET также чрезвычайно расширяемо. Его классы атрибутов FactAttribute и TraitAttribute не запечатаны и предоставляют переопределяемые базовые методы, которые дают вам большой контроль над тем, как должны выполняться методы, которые украшают эти атрибуты. Хотя xUnit.NET в его форме по умолчанию позволяет вам писать тестовые классы, которые похожи на тестовые приборы NUnit с их методами тестирования, вы не ограничены этой формой модульного тестирования вообще. Вы можете расширить платформу для поддержки спецификаций BDD-типа «Забота / Контекст / Наблюдение», как показано здесь .
xUnit.NET также прямо из коробки поддерживает тестирование в стиле соответствия с помощью своего атрибута Theory и соответствующих атрибутов данных. Подходящие входные данные могут быть загружены из Excel, базы данных или даже из пользовательского источника данных, такого как документ Word (путем расширения базового атрибута данных). Это позволяет использовать единую платформу для тестирования как модульных, так и интеграционных тестов, которые может быть огромным в снижении зависимости продукта и необходимого обучения.
Другие подходы к тестированию также могут быть реализованы с xUnit.NET ... возможности довольно безграничны. В сочетании с другой перспективной инфраструктурой Moq , они создают очень гибкую, расширяемую и мощную платформу для реализации автоматического тестирования.