Как реализовать NUnit тесты в виде исполняемого файла (C#)

Как реализовать NUnit тесты в виде исполняемого файла (C#)
У нас на проектах мы пишем автоматизированные тесты для сайтов используя связку “Selenium WebDriver + C# + NUnit”. Обычно тесты с использованием NUnit пишут в виде библиотеки. Потом эти тесты запускаются с использованием специальной утилиты от разработчиков NUnit. Это же делали и мы. Однако в один из дней пришло понимание, что нам удобнее будет писать тесты, которые будут содержаться в исполняемом файле. В итоге изучив данный вопрос я переписал проекты по автоматизированному тестированию, тесты в которых содержатся не в библиотеке DLL, а в исполняемом файле.

Конечно же “переписал” звучит громко, на самом деле я потратил много времени в поисках решения, а код потом перенёс быстро.

Сейчас расскажу, как можно писать тесты, которые после компиляции будут содержаться в консольном приложении. Это удобно, так как не надо через командную строку запускать тесты из DLL используя утилиту от разработчиков NUnit. Хотя это не совсем так. Наш EXE будет в себе содержать ссылки на утилиты NUnit, но обо всё по порядку.

На текущий момент мной используется NUnit 3.5.

Для начала создадим в студии, в которой вы работаете, и не важно в какой, проект “Консольное приложение”. Называйте как хотите, размещайте где хотите:

Как реализовать NUnit тесты в виде исполняемого файла (C#)

После того как создали проект нам необходимо подключить к проекту “NUnit”, “NUnit Test Engine (NUnit.Engine)”, “NUnit Console Runner — Deprecated (NUnit.Runners)”. Обычно эти пакеты устанавливаются через NuGet. В Visual Studio в менеджере пакетов NuGet они выглядят так:

Как реализовать NUnit тесты в виде исполняемого файла (C#)

Я чаще всего их скачиваю и подключаю к проекту руками.

Далее в ссылки добавим “nunit3-console.exe”. Он обычно находится по пути “ВАШ_ПРОЕКТ\packages\NUnit.ConsoleRunner.3.5.0\tools\nunit3-console.exe”:

Как реализовать NUnit тесты в виде исполняемого файла (C#)

После этого наполняем файл “Program.cs”. Я вам приведу готовый код, который можно вставить в “Program.cs” предварительно удалив всё что в нём есть. Не поленитесь сравнить то что было с тем, что стало:

Названия «namespace TESTING_SPACE» и «class Test» можете менять так как вашей душе угодно. Возможно “using” в данном коде для вас будет многовато, но это я брал со своего рабочего проекта, в связи с этим явные ненужные вещи удалил и оставил только самое необходимое. Если вы не используете “Selenium WebDriver”, то вам можно удалить все “using”, в которых есть слово “Selenium”.

Все результаты тестов будут записываться автоматически в файл “TestResult.xml”, который будет создаваться рядом с вашим EXE. Как сформировать свой собственный отчёт я расскажу вам в одной из ближайших статей.

  • Понравилось? Добавьте в избранное или поделитесь с друзьями:

Один комментарий

  1. Респект от пацанов!

Добавить комментарий

Ваш e-mail не будет опубликован.