Я использую Visual Studio (иногда resharper) для запуска своего модульного теста.
Я слышал о NUnit, но многого о нем не знаю ...
Должен ли я заботиться об этом? Может ли он предложить что-то лучше, чем визуальная студия?
Стоит ли использовать NUnit и почему?
Ответы:
У NUnit мало преимуществ перед MS-Test
Assert.AreEqual(expected, actual)
vsAssert.That(actual, Is.EqualTo(expected))
[TestCase]
! NUnit позволяет проводить параметризованные тесты.источник
С моей точки зрения текущего (после 8 месяцев развития с около 10 разработчиков в среднем) я бы посоветовал против использования MSTest по следующим причинам
Другими словами, если бы мне пришлось снова принимать решение 8 месяцев назад, я бы, вероятно, выбрал NUnit. Возможно, у меня нет интегрированного отчета о результатах тестирования, но у разработчиков будет более удобный опыт тестирования.
источник
Вот мой опыт работы с MS Test
Дополнение: Сейчас у нас еще несколько тестов, даже не могу сказать сколько. Их все больше невозможно запускать из Visual Studio из-за OutOfMemoryExceptions и других проблем нестабильности. Запускаем тесты из скриптов. Было бы легко просмотреть результаты тестирования в Visual Studio, но когда решение открыто, VS дает сбой (каждый раз). Поэтому нам нужно искать неудачные тесты с помощью текстового поиска. Больше нет преимущества интегрированного инструмента.
Другое обновление : сейчас мы используем VS 2013. Много чего изменилось. Они переписали средство запуска тестов MS Test в третий раз с нашего старта. Это вызвало множество критических изменений, но ни одна новая версия не улучшила ничего. Мы рады, что не использовали необычные функции MS Test, потому что все они больше не поддерживаются. Это действительно обидно. Мы по-прежнему используем сценарии для создания и запуска всех модульных тестов, потому что это удобнее. Visual Studio потребовалось несколько минут для запуска тестов (время измеряется после компиляции до первого запуска теста). Вероятно, они исправят это с помощью обновления, и это может быть конкретной проблемой нашего проекта. Однако Resharper работает намного быстрее при выполнении тех же тестов.
Вывод : По крайней мере, в сочетании с Resharper, MS Test полезен. И я надеюсь, что они наконец-то узнают, как следует писать средство запуска тестов, и не будут вносить таких критических изменений при следующем обновлении Visual Studio.
источник
NUnit можно использовать в сочетании с Visual Studio. Это фреймворк, а не отдельная программа. Так что вы можете посмотреть, подходит ли вам это :).
альтернативный текст http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nunitit&DownloadId=61802
«После установки плагина вы найдете новое подменю в меню инструментов».
См. Http://nunitit.codeplex.com/ для получения дополнительной информации об импорте.
Также многое можно найти с помощью поиска SO. В этом разделе перечислены преимущества NUnit, например, перед стандартным тестированием MS.
источник
Самым большим преимуществом MS-Test над NUnit является то, что MS-Test может генерировать фиктивные объекты с помощью Reflection. Я нашел это очень полезным
источник
NUnit работает со стандартной версией VS.
источник
Я не уверен в других, но NUnit предоставляет красивый графический интерфейс и консоль для запуска ваших модульных тестов, а также вы можете сгенерировать отчет о результате выполнения теста NUnit, который даст подробную информацию о том, прошел ли тест или прошел, а также в какое время это было. возьмите для своего модульного теста
источник
NUnit - это фреймворк для модульного тестирования, который также поддерживается resharper. Я думаю, вы используете фреймворк модульного тестирования Microsoft, поэтому NUnit - просто альтернатива продукту Microsoft;)
Вот ссылка на домашнюю страницу NUnit: http://nunit.org
источник
В NUnit тесты не выполняются параллельно. Скорее кажется, что все тесты выполняются в одном потоке. В MSTest каждый тест создается в отдельном потоке, в результате чего прогоны чередуются. Следовательно, если успех теста A зависит от теста B, он, скорее всего, не удастся, так как тест B, скорее всего, начнет выполняться во время выполнения теста A.
источник
Если вы используете Visual Studio, вам необходимо использовать NUnit для выполнения модульного теста, а если вы используете java (Netbeans), вы должны использовать JUnit для модульного теста.
Вот пример простого модульного теста калькулятора
источник