После очередного обновления Visual Studio 2012 отвалилась связка ReSharper и MsTest. Поэтому быстро перешел на использование NUnit, в качестве движка для реализации UnitTest.
Далее краткие заметки, по использованию NUnit.
Установка NUnit
С установкой все просто и понятно
Для запуска UnitTest-ов существует несколько возможностей
Рассмотрим простейший случай использования NUnit, а именно связку:
И так, создаем проект типа Class Library, в котором создаем класс SumService реализующий один метод int Sum(int,int) и свойство AllOperationsSum - представляющее сумму всех операций Sum
Далее, добавляем в solution новый проект SumService.Tests (тип проекта Class Library), который будет содержать UnitTest-ы. Удаляем Class1 созданный по умолчанию и добавляем новый класс SumServiceTests.
Подключаем к проекту SumService.Tests NUnit используя NuGet Packet Manager
Подключаем к проекту SumService.Tests тестируемый проект SumService
Создаем наш первый тест, проверяющий правильность работы метода Sum(1,1)
Ключевые моменты:
Запускаем тест на выполнение TEST\Run\All Tests (Ctrl+R,A), либо через Test Explorer
В окне Test Explorer видим результаты выполнения
Добавим еще один тест, для проверки правильности работы (в данный момент в тесте присутствует ошибка, и тест не должен пройти)
После запуска тестов, в Test Explorer видим, что созданный нами тест не прошел, и в нижней части окна видим причину ошибки.
Исправляем тест и запускаем тесты еще раз, и видим, что теперь у нас все хорошо
Напоследок добавим еще один тест для свойства AllOperationsSum
Результаты запуска тестов
Более подробно о доступных атрибутах и утверждениях в следующих постах.
Далее краткие заметки, по использованию NUnit.
Установка NUnit
С установкой все просто и понятно
- Загрузить дистрибутив с сайта производителя и установить.
- Подключить на уровне Visual Studio solution через NuGet PacketManager (наиболее удобный способ)
Для запуска UnitTest-ов существует несколько возможностей
- Консольное приложение
- Windows GUI приложение
- Запуск из Visual Studio. Для запуска тестов из Visual studio необходимо установить расширения. ReSharper или например NUnit Test Adapter.
Рассмотрим простейший случай использования NUnit, а именно связку:
- Visual Studio 2012
- NuGet Packet Manager
- Тестируемый функционал и UnitTest-ы находятся в одном solution.
И так, создаем проект типа Class Library, в котором создаем класс SumService реализующий один метод int Sum(int,int) и свойство AllOperationsSum - представляющее сумму всех операций Sum
Далее, добавляем в solution новый проект SumService.Tests (тип проекта Class Library), который будет содержать UnitTest-ы. Удаляем Class1 созданный по умолчанию и добавляем новый класс SumServiceTests.
Структура solution |
Вызов NuGet Packet Manager через меню |
Указание проекта, к которому подключаем NUnit |
Создаем наш первый тест, проверяющий правильность работы метода Sum(1,1)
Ключевые моменты:
- Строка 5 - Атрибут [TestFixture] сообщает NUnit, что класс содержит набор UnitTest-ов
- Строка 8 - Атрибут [Test] сообщает NUnit, что данный метод класса является тестом
- Строка 15 - Реализует проверку утверждения, для определения правильной работы тестируемого функционала
Запускаем тест на выполнение TEST\Run\All Tests (Ctrl+R,A), либо через Test Explorer
В окне Test Explorer видим результаты выполнения
Добавим еще один тест, для проверки правильности работы (в данный момент в тесте присутствует ошибка, и тест не должен пройти)
После запуска тестов, в Test Explorer видим, что созданный нами тест не прошел, и в нижней части окна видим причину ошибки.
Исправляем тест и запускаем тесты еще раз, и видим, что теперь у нас все хорошо
Напоследок добавим еще один тест для свойства AllOperationsSum
Результаты запуска тестов
Более подробно о доступных атрибутах и утверждениях в следующих постах.
Комментариев нет :
Отправить комментарий