Пакеты модульного тестирования .NET?
возвращаясь в немного больше .NET после нескольких лет не использовать его полный рабочий день, и интересно, что хорошие пакеты модульного тестирования в эти дни.
Я знаком с NUnit (несколько лет назад) и немного поиграл с IronRuby, с целью получить что-то вроде RSpec, но мало что знаю за этим.
Я понимаю, что мог бы google для этого и назвать его днем, но я считаю, что я, вероятно, получу лучший и более информированный ответ от запроса вопрос тут: -)
предложения?
12 ответов:
их так много, что это безумие. Безумно хорошо, я думаю.
- для консервативных типов (me),Нанит все еще доступен и все еще более чем способен.
- для Microsoft-типов,MSTest адекватный, но медленный и неуклюжий по сравнению с Нанит. Ему также не хватает покрытия кода, не платя большие деньги за дорогие версии Visual Studio.
- там же MbUnit. Это похоже на NUnit, но имеет отличные функции, такие как RowTest (запуск одного и того же теста с разными параметрами) и откат (верните базу данных, как вы ее нашли после теста)
- и наконец, xUnit.net это модный вариант с некоторым отношением.
- О, и TestDriven.NET даст вам интеграцию IDE как для Nunit, так и для MBunit.
Я уверен, что они все только штраф. Я бы держался подальше от MSTest, хотя, если вы просто не наслаждаетесь удобством иметь все в одной IDE из коробки.
Скотт Хансельман есть подкаст на эту тему.
мы используем NUnit и MBUnit здесь. Мы используем TestDriven.NET для запуска модульных тестов из Visual Studio. Мы используем отличные, настоятельно рекомендуется RhinoMocks как макет рамки.
придерживайтесь NUnit. Не подходите близко к MSTest.
NUnit + ReSharper-это абсолютная радость для работы.
Я использовал NUnit, но теперь, как правило, используют MbUnit, для двух ключевых функций: 1. Функция RowTest позволяет легко выполнять один и тот же тест на разных наборах параметров, что важно, если вы действительно хотите тщательного покрытия. 2. Функция отката позволяет выполнять тесты для вашей базы данных при откате изменений после каждого теста, сохраняя вашу базу данных в точно таком же состоянии каждый раз. И это так же просто, как добавить атрибут [Rollback].
еще один приятный аспект из MbUnit заключается в том, что его синтаксис почти идентичен NUnit, поэтому, если у вас уже есть целый тестовый стенд под NUnit, вы можете просто переключить ссылки без необходимости менять их (очень много?) код.
xUnit.net похоже, он обеспечивает немного другой подход к N/MB/MS / Unit, что интересно.
в моем поиске rspec-подобного решения (потому что я люблю rspec), я также наткнулся NSpec, который выглядит немного многословным, но в сочетании с Расширения NSpec аддон для использования методов расширения C#3, это выглядит довольно хорошо.
Я использую следующий:
TestDriven.NET - модульное тестирование добавить для Visual Studio
Typemock Изолятор - издевательская платформа для модульного тестирования .Net
Нанит - платформа модульного тестирования с открытым исходным кодом, которая находится в C#.
Это старый вопрос, но вам может быть интересно, что Gallio v3.1 теперь поддерживает RSpec через IronRuby.
Мне нравится TestDriven.NET (хотя я использую ReSharper) и я очень доволен XUnit.net он использует факты вместо тестов, которые многие люди не любят, но мне нравится разница в терминологии. Полезно подумать о коллекции автоматически доказуемых фактов о вашем программном обеспечении и посмотреть, какие из них вы нарушаете при внесении изменений.
имейте в виду, что Visual Studio 2008 Professional (и выше) теперь поставляется с интегрированным блоком Тестирование (раньше он был доступен только с выпусками Team System) и может подходить для ваших нужд.
Я сделал небольшой пример тестирования .NET lib с помощью ironRuby: http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx
Мне нравится MbUnit э, Галлио. Самое главное для меня-это хорошая поддержка инструментов внутри Visual Studio. Для этого я использую для ReSharper, имеющего MbUnit тестов. Многие люди, кажется, нравится TestDriven.NET как их бегун испытания также.
Я использовал NUnit, но я переключился на MbUnit, так как он имеет больше возможностей. Я люблю RowTest. Это позволяет параметризовать ваши тесты. Однако у NUnit есть немного лучшая поддержка инструментов. Я использую ReSharper для запуска тестов MbUnit. У меня были проблемы с TestDriven.NET запуск моих методов установки для MbUnit.
Это действительно личное мнение с моей стороны (я думаю, что это излишне, так как это форум). NUnit, MSTest, ect все делают довольно mutch то же самое. Однако я считаю NMock незаменимым.
NMock или любой издевательский пакет не является модульным тестированием, но это делает его настолько проще сделать модульное тестирование, что оно также может быть.