Советы по .NET Testing Framework - PullRequest
       50

Советы по .NET Testing Framework

47 голосов
/ 03 августа 2008

Я собираюсь внедрить систему модульного тестирования в мою работу. Мы используем Visual Studio 2005 (хотя мы можем перейти на 2008 в течение следующих 6 месяцев) и работаем в основном на C #. Если у фреймворка есть какая-то интеграция IDE, то это было бы лучше, но я открыт для фреймворков, которые не имеют интеграции, но все же относительно просты в настройке. Я так или иначе получу сопротивление этому, поэтому, если я смогу убедиться, что то, что я толкаю, не является болью в шее, это помогло бы моему делу.

Очевидный выбор из исследования, которое я провел до сих пор, указывает на nUnit, но я бы хотел получить впечатления от человека, который действительно использовал его, прежде чем рекомендовать его моей команде.

Кто-нибудь там использовал nUnit? Если так, есть ли какие-либо подводные камни или ограничения, о которых я должен знать? Есть ли другие хорошие варианты там? Если это так, если вы использовали оба nUnit, я был бы очень признателен за их сильные и слабые стороны.

Ответы [ 10 ]

41 голосов
/ 03 августа 2008

Я думаю NUnit - это ваша лучшая ставка. С TestDriven.NET вы получаете отличную интеграцию в VS.NET. (У Resharper также есть бегунок модульного теста, если вы его используете). NUnit он прост в использовании и следует установленной парадигме. Вы также найдете множество проектов / учебных пособий / руководств, использующих его, что всегда помогает.

Ваш другой основной выбор, вероятно, MBUnit, который все больше позиционирует себя как BDD каркас выбора (в сочетании с Gallio http://www.gallio.org).

17 голосов
/ 03 августа 2008

У Скотта Хансельмана был хороший подкаст на эту тему, озаглавленный:

«Прошлое, настоящее и будущее систем модульного тестирования .NET»

Hanselminutes # 112

8 голосов
/ 16 сентября 2008

Встроенное модульное тестирование в VS 2008 в порядке, но его трудно интегрировать с CruiseControl.net, конечно, намного сложнее, чем обычно NUnit.

Так что используйте NUnit, если вы планируете провести хорошие автоматические тесты.

8 голосов
/ 03 августа 2008

Visual Studio 2008 имеет встроенный тип тестового проекта, который работает аналогично NUnit, но, очевидно, имеет более тесную интеграцию с Visual Studio (может работать при каждой сборке и отображает результаты аналогично результатам преобразования при обновлении файлов решения), но он, очевидно, не такой зрелый, как NUnit, а довольно новый, и я не уверен, как он справляется с имитацией.

Но стоило бы посмотреть, когда ваша команда перейдет на VS2008

6 голосов
/ 01 октября 2008

Мы использовали xUnit.net . Кажется, в нем сочетаются все лучшее из nUnit, mbUnit и MSTest.

5 голосов
/ 29 мая 2011

VSTT 2010 - хорошая ставка, если вы ищете автоматизацию функционального тестирования. Тестирование веб-сервисов, UI тестирование, тестирование Biztalk и поддержка тестирования данных. Пожалуйста, посмотрите на VSTT

5 голосов
/ 18 апреля 2009

Попробуйте также PEX инструмент Это Microsoft, вероятно, скоро будет интегрирована в VSTS и поддерживает NUnit, MbUnit и xUnit.net

Я также использую небольшое Консольное приложение для тестирования одного класса или небольшой библиотеки. Вы можете скопировать вставить код из здесь

5 голосов
/ 16 сентября 2008

Когда я начал модульное тестирование, я начал с NUnit, поскольку он прост в настройке и использовании, в настоящее время я использую встроенный тестовый модуль, который поставляется с Resharper, так что я могу легко переключаться между кодом и тестом Результаты. Кстати, NUnit определяет, когда вы скомпилировали свой код, поэтому вам не нужно делать никаких обновлений в NUnit. Resharper автоматически выполняет сборку, когда вы решаете запустить определенный тест.

4 голосов
/ 03 августа 2008

mbUnit заслуживает внимания, имеет набор функций, сравнимый с NUnit, имеет собственный графический интерфейс или может быть интегрирован в VS, если у вас Resharper Я также рекомендовал бы Rhino Mocks, если вы делаете какой-либо TDD.

3 голосов
/ 07 августа 2008

Я бы также сказал, что mbUnit, мне нравится многократно запускать один тест, просто указав входные данные и результат прямо над функцией теста. Ужасное описание того, что я имею в виду, поэтому вот ссылка, которая показывает вам, что я имею в виду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...