Картинка блога

NUnit — это продвинутый фреймворк для тестированяи приложений. В отличае от MSUnit, он легко интегрируется куда угодно. Будь то безобразно обрезанная VS Express или навороченная CC.NET. Тесты NUnit можно запустить из консоли, графической оболочки, скрипта сборки, или любым другим программным способом. NUnit это своего рода проекция JUnit на .NET.

С недавних пор, я использую NUnit для обычных Unit тестов, а также для тестов интеграции. Последнее особенно легко сделать с помощью Selenium, если речь идет о Веб приложении. Вохможны также параллельные тесты. Ну а если стандартной функциональности не хватает, библиотека расширяется с помощью дополнений.

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

Запуск через панель инструментов.

Этот, так называемый «poor man’s» способ, подробно описан в документации NUnit. Добавляем его как внешний инструмент VS.

Нужное окно находится в меню: Tools -> External Tools:

  • Title: название пункта меню, в моем случае: NUnit.
  • Command: Путь до графического интерфейса NUnit: C:\Program Files (x86)\NUnit 2.5.3\bin\net-2.0\nunit.exe
  • Arguments: Аргументы передаваемые приложению, это путь до сборки: $(ProjectDir)bin/Debug/$(TargetName)$(TargetExt)
  • Initial directory: Рабочая папка: $(TargetDir)

Теперь выбрав проект с тестами и NUnit в меню Tools, стартует графическая оболочка для запучка тестов. Закрывать ее не нужно, так как программа определит сама, если тесты обновились.

Запуск тестов на F5.

Это особенно полезно для отладки тестов, так как VS сама привяжет дебаггер к проекту. Для этого настроим NUnit в свойствах проекта (вкладка Debug):

Start external program: Запускать внешнюю программу: C:\Program Files (x86)\NUnit 2.5.3\bin\net-2.0\nunit.exe

Command line arguments: В аргументы передаем файл настроек и категорию для автозапуска: ..\..\NunitTests.nunit /include:Debug /runselected

В папке проекта создаем файл с названием NunitTests.nunit и содержащем (изменив название сборки на свое):


<NUnitProject>
 <Settings activeconfig="Debug" />
 <Config name="Debug">
 <assembly path="bin\Debug\[название сборки].dll" />
 </Config>
 <Config name="Release"></Config>
</NUnitProject>

Те тесты, которые должны запустится на F5 отмечаем аттрибутом [Test, Category(«Debug»)] (название категории было установленно в аттрибутах).

Вот и все, хороших вам тестов!

Метки:, , ,

3 комментария в “Интеграция NUnit в Visual Studio”

  1. Спасибо

  2. Если идти по второму пути, то
    в 2010 студии он как-то тупо не видит брекпоинты.

    Хотя если делать самым простым способом через аттач к процессу руками, то он все видит…

  3. В MVS2010 Ultimate все заработало по двум вариантам.
    Очень полезная информация.
    Спасибо за статью.