.NET Unit Тестирование пакетов?

Вернемся к немного больше .NET через несколько лет, не используя его на полный рабочий день, и задаемся вопросом, какие хорошие пакеты тестирования модулей в эти дни.

Я знаком с NUnit (несколько лет назад) и ненадолго сыграл с IronRuby с целью получить что-то вроде rspec, но не знаю многое кроме этого.

Я понимаю, что могу это сделать, и назову это днем, но я верю, что, скорее всего, я получу более обоснованный ответ, задав здесь вопрос: -)

Предложения?

Ответ 1

Их так много. Сумасшедший, я думаю.

  • Для консервативных типов (me) NUnit по-прежнему доступен и по-прежнему более чем способен.
  • Для типов Microsoft MSTest является адекватным, но медленным и неуклюжим по сравнению с Nunit. Он также не имеет покрытия кода, не платя большие деньги за дорогие версии Visual Studio.
  • Там также MbUnit. Он похож на NUnit, но имеет отличные функции, такие как RowTest (запустить те же тесты с разными параметрами) и откат (поместите базу данных так, как вы ее нашли после теста).
  • И, наконец, xUnit.net - это модный вариант с некоторым отношением.
  • О, и TestDriven.NET предоставит вам интеграцию IDE для Nunit и MBunit.

Я уверен, что все в порядке. Я бы уклонился от MSTest, хотя, если вам просто не понравилось, что все в одной IDE из коробки.

Скотт Гензельман имеет подкаст на эту тему.

Ответ 2

Здесь мы используем NUnit и MBUnit. Мы используем TestDriven.NET для запуска модульных тестов из Visual Studio. Мы используем отличный, рекомендуемый RhinoMocks как макет.

Ответ 3

Придерживайтесь NUnit. Не приближайтесь к MSTest.

NUnit + ReSharper - это абсолютная радость для работы.

Ответ 4

xUnit.net выглядит так, как будто он немного отличается от N/MB/MS/Unit, что интересно.

В моем поиске rspec-подобного решения (потому что я ЛЮБЛЮ rspec), я также встретил NSpec, который выглядит несколько словесный, но в сочетании с NSpec Extensions addon использовать методы расширения С# 3, это выглядит довольно хорошо.

Ответ 5

Я использовал NUnit, но теперь, как правило, использую MbUnit для двух ключевых функций: 1. Функция RowTest позволяет вам легко запускать один и тот же тест на разных наборах параметров, что важно, если вы действительно хотите получить полное покрытие. 2. Функция отката позволяет запускать тесты против вашей базы данных при откате изменений после каждого теста, сохраняя базу данных в точно таком же состоянии каждый раз. И это так же просто, как добавление атрибута [Rollback].

Другим приятным аспектом MbUnit является то, что его синтаксис почти идентичен NUnit, поэтому, если у вас уже есть тестовая кровать под NUnit, вы можете просто отключить ссылки без необходимости изменять какие-либо (очень?) код.

Ответ 6

Я использую следующее:

TestDriven.NET - Тестирование модулей добавляется для Visual Studio

Typemock Isolator - Смысловая инфраструктура для тестирования .Net Unit

NUnit - платформа тестирования модулей с открытым исходным кодом, которая находится на С#.

Ответ 7

Это старый вопрос, но вам может показаться интересным, что Gallio v3.1 теперь поддерживает RSpec через IronRuby.

Ответ 8

Мне нравится TestDriven.NET (хотя я использую ReSharper), и я очень доволен XUnit.net. Он использует факты вместо тестов, которые многим людям не нравятся, но мне нравится разница в терминологии. Полезно подумать о наборе автоматически доказуемых фактов о вашем программном обеспечении и посмотреть, какие из них вы нарушаете при внесении изменений.

Помните, что Visual Studio 2008 Professional (и выше) теперь поставляется с интегрированным модульным тестированием (он использовался только с командой System Editions) и может быть подходящим для ваших нужд.

Ответ 10

Мне нравится MbUnit, er, Gallio. Самое главное, чтобы у меня была хорошая поддержка инструментов внутри Visual Studio. Для этого я использую Resharper, у которого есть тестовый бег MbUnit. Многие люди, похоже, любят TestDriven.NET в качестве своего тестового бегуна.

Ответ 11

Я использовал NUnit, но я переключился на MbUnit, так как он имеет больше возможностей. Я люблю RowTest. Это позволяет вам параметризовать ваши тесты. Тем не менее, у NUnit есть небольшая улучшенная поддержка инструментов. Я использую ReSharper для запуска тестов MbUnit. У меня были проблемы с TestDriven.NET, использующими мои методы SetUp для MbUnit.

Ответ 12

Это действительно личное мнение с моей стороны (я думаю, что избыточно, поскольку это форум). NUnit, MSTest, и т.д. Все делают довольно то же самое. Однако я считаю, что NMock незаменим.

NMock или любой насмешливый пакет не является модульным тестированием, но он делает намного проще выполнять модульное тестирование, которое тоже должно быть.