Введение в модульное тестирование для c# проектов в среде MonoDevelop

в 16:12, , рубрики: nunit, tdd, Программирование, метки: , , ,

Модульные тесты используются при разработке программного обеспечения. Они могут быть созданы как после написания исходного кода, так и до этого, все зависит от ваших предпочтений и вероисповедания, либо предпочтений вашей компании. Разработка через тестирование(TDD) вызывает довольно спорное впечатление. Кто-то считает, что это довольно бесполезная вещь, однако склонен не согласиться. Бесполезным TDD назвать точно нельзя. Создание теста покрывающего предполагаемое изменение в программе, а затем написание кода который бы позволил пройти этот тест, заметно упрощает разработку. Модульные тесты так же используются для проверки уже созданного функционала. Однако достичь 100% покрытия кода программы модульными тестами практически невозможно.

План:

  1. Создание программы HelloWorld.
  2. Написание модульных тестов для HelloWorld.
  3. Написание исходного кода для прохождения модульных тестов.

Почему был выбран C#? Это довольно легкий в освоении язык программирования. В котором не нужно задумываться над выделением памяти и её очисткой. Широкий выбор различных библиотек .NET позволяет без особого труда реализовать сложные задачи. Помимо этого, программы скомпилированные в одной платформе с использованием CLR можно запустить на другой платформе, в которой присутствует реализация CLR.

Создание программы HelloWorld

  1. Запустите MonoDevelop и создайте новый проект HelloWorld. Введение в модульное тестирование для c# проектов в среде MonoDevelop
  2. Создайте новый класс Goodbyer. Введение в модульное тестирование для c# проектов в среде MonoDevelop
  3. Помимо конструктора без параметров, создайте конструктор со строкой, в качестве параметра. А так же метод, возвращающий строку и позволяющий задавать значение поля _who.

Создание модульных тестов

  1. Создайте новый проект библиотеки тестов NUnit в данном решении. Введение в модульное тестирование для c# проектов в среде MonoDevelop
  2. Добавьте ссылку на проект HelloWorld. Введение в модульное тестирование для c# проектов в среде MonoDevelop
  3. Создайте несколько модульных тестов для конструктора с параметрами и для метода задающего значение поля _who. Картинка 5
  4. На следующем изображении видно, что не все тесты были пройдены. Так как программа не выдает исключения, когда мы задаем поле _who пустым. Введение в модульное тестирование для c# проектов в среде MonoDevelop

Изменение класса Goodbyer для прохождения модульных тестов

  1. Изменим класс Goodbyer так, чтобы он выдавал исключения, когда в поле _who записывается пустая строка. Введение в модульное тестирование для c# проектов в среде MonoDevelop
  2. На вышестоящем изображении видно, что все тесты были пройдены.

На этом все. Если вы проделали все шаги, то вас можно поздравить с освоением простейших принципов модульного тестирования.

Ссылки

Using NUnit with MonoDevelop: www.dijksterhuis.org/using-nunit-with-monodevelop/ — Туториал по созданию модульных тестов в NUnit c MonoDevelop.

C# Unit Test Tutorial: www.rhyous.com/programming-development/csharp-unit-test-tutorial/ — Туториал по модульному тестированию.

Автор: true_night

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js