Введение

Фреймворк модульного тестирования C#

NUnit — это фреймворк модульного тестирования с открытым исходным кодом для .NET Framework и Mono. Он выполняет ту же функцию, что и JUnit в мире Java, и является одной из многих программ в семействе xUnit.

Особенности

Тесты могут быть запущены из консольного запускающего приложения, внутри Visual Studio через Test Adapter или с помощью сторонних запускающих приложений. Тесты могут быть запущены параллельно. Мощная поддержка параметризованных тестов. Поддерживает несколько платформ, включая .NET Core, Xamarin Mobile, Compact Framework и Silverlight. Каждый тест может быть добавлен в одну или несколько категорий для выборочного запуска. NUnit предоставляет консольное запускающее приложение (nunit3-console.exe), которое используется для пакетного выполнения тестов. Консольное запускающее приложение работает через NUnit Test Engine, который обеспечивает возможность загрузки, просмотра и выполнения тестов. Когда тесты должны быть запущены в отдельном процессе, движок использует программу nunit-agent для их выполнения. NUnitLite runner может быть использован в ситуациях, когда требуется более простое запускающее приложение. Он позволяет разработчикам создавать самоисполняемые тесты.

Основанные на ограничениях

Начиная с NUnit 2.4, была внедрена новая модель, основанная на ограничениях. Этот подход использует единый метод класса Assert для всех проверок, передавая объект ограничения, который задает условие проверки. Эта модель, основанная на ограничениях, теперь используется внутри NUnit для всех проверок. Методы классического подхода были перереализованы на основе этой новой модели.

Расширения

FireBenchmarks – это надстройка, позволяющая записывать время выполнения модульных тестов и генерировать отчеты о производительности в форматах XML, CSV, XHTML с графиками и отслеживанием истории изменений. Её основное назначение – предоставить разработчику или команде, работающей по гибкой методологии, возможность интегрировать метрики производительности и анализ в среду модульного тестирования, чтобы легко контролировать и отслеживать эволюцию программной системы с точки зрения алгоритмической сложности и нагрузки на системные ресурсы. NUnit.Forms – это расширение базового фреймворка NUnit, также имеющее открытый исходный код. Оно специально предназначено для расширения возможностей NUnit в части тестирования элементов пользовательского интерфейса в Windows Forms. По состоянию на январь 2013 года NUnit.Forms находится в альфа-версии, и с мая 2006 года новых версий не выпускалось. NUnit.ASP – это устаревшее расширение базового фреймворка NUnit, также имеющее открытый исходный код. Оно специально предназначено для расширения возможностей NUnit в части тестирования элементов пользовательского интерфейса в ASP.NET.