Мне кажется, что все используют NUnit, даже не рассматривая другие варианты. Я думаю это потому что:
- Все уже знакомы с ним, поэтому им не придется изучать новый API.
- Он уже настроен с их сервером непрерывной интеграции для работы с NUnit.
Я ошибаюсь по этому поводу?
Я решил использовать xUnit на одном из моих собственных проектов недавно, и мне это нравится! Это имеет для меня гораздо больше смысла, и концептуально это похоже на определенный шаг вперед от NUnit.
Я хотел бы услышать мнения о том, какая среда на самом деле является лучшей - не принимая во внимание необходимость изучить ее или перенастроить ваше автоматическое тестирование.
.net
unit-testing
frameworks
nunit
xunit
Никто
источник
источник
Ответы:
MSTest
Я лично использую MSTest. NUnit действительно хорош, но в VS2010 MSTest уже полностью интегрирован в IDE, и для него есть полные шаблоны проектов. Для .NET, если вы используете 2010, то я думаю, что MSTest - это путь (MSTest в VS2008, я не думаю, что это на должном уровне) просто для покрытия кода, запуска тестов и других инструментов, доступных вам. из коробки. (Если вы используете CodeRush или R #, то у них действительно отличные инструменты / инструменты для тестирования для других платформ тестирования)
Изменить: с тех пор я перешел на XUnit. : D
источник
Я начал использовать Gallio / MbUnit несколько лет назад. И функции и жемчужины, которые он предоставляет, настолько мощные, что я никогда не жалел о своем выборе. Фактически, теперь я являюсь частью команды разработчиков проекта Gallio OSS; поэтому я могу внести свой вклад, чтобы сделать его еще более удивительным.
Вики , безусловно , является хорошей отправной точкой для знакомства с Gallio и MBUnit v3. Это пропускает некоторые главы, но это уже полезно.
источник
Выбор одного и использование его, пожалуй, самый важный шаг здесь.
Лично я бы выбрал NUnit по нескольким причинам. Прежде всего, это поддержка инструментов. Существует бесплатная надстройка для Visual Studio 2010 , и все основные сторонние плагины поддерживают ее. Каждая отдельная система сборки, утилита тестирования покрытия и CI-сервер поддерживают это. Во многих случаях без плагина. На уровне кода он может обрабатывать практически любой сценарий на данный момент - управляемые данными тесты, наследование, абстрактные тестовые классы, универсальные тестовые классы, установку, разбор и т. Д. В некоторой степени у нас есть xUnit, потому что NUnit получил слишком много функций и мощный.
Помимо NUnit, я думаю, что вы могли бы сделать довольно приличный аргумент в пользу MBUnit + Gallio, как упомянул Янн - это очень прочная основа. Той, которую следует избегать, если это вообще возможно, будет MSTest, который имеет несколько фатальных недостатков ИМХО. Недостатки, являющиеся некоторыми ограничениями на ваших тестовых классах, такие как отсутствие наследования, и зависимости от профессиональных или лучших SKU визуальных студий. В том числе требуется установить Visual Studio на сервере сборки для запуска тестов.
источник
Одной из причин является то, что NUNIT стали более отраслевым стандартом, чем xUnit. Но лично я люблю Xunit.
источник