Создание проекта юнит-тестов. Добавление xUnit

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core 7

Последнее обновление: 21.12.2019

Создадим новый проект ASP.NET Core по типу ASP.NET Core Web App (Model-View-Controller):

Юнит-тесты в ASP.NET Core

Пусть проект будет называться UnitTestApp.

Теперь для него добавим проект юнит-тестов.

Согласно условностям название проекта юнит-тестов называется [название_приложения].Tests. Итак, добавим в решение новый проект по типу Class Library (.NET Core):

Добавление проекта юнит-тестов в ASP.NET Core

Назовем его UnitTestApp.Tests

Добавление проекта юнит-тестов в ASP.NET Core

Стоит отметить, что начиная с Visual Studio 2019 специально для тестов были добавлены три типа проектов: xUnit Test Project(.NET Core), MSTest Test Project(.NET Core) и NUnit Test Project(.NET Core), которые для тестирования используют соответственно фреймворк xUnit, MSTest Framework и NUnit. В реальности разница между ними небольшая. И если мы используем VS 2019, то сразу можем выбрать один из этих проектов. Однако в данном случае мы возьмем именно проект библиотеки классов и вручную добавим в нее все нужные зависимости.

В итоге после создания проекта все решение будет иметь следующую структуру:

Тестирование в ASP.NET Core MVC

Удалим из проекта тестов созданный по умолчанию файл Class1.cs, так как он нам не нужен.

Теперь добавим фреймворк юнит-тестов. Существует множество фреймворков. В данном случае мы будем использовать xUnit как наиболее распространенный фреймворк в связке с ASP.NET Core (хотя можно использовать и другие фреймворки, которые более предпочтительны).

Чтобы использовать xUnit, в проект тестов (то есть UnitTestApp.Tests) необходимо добавить через NuGet три пакета:

  • Microsoft.NET.Test.Sdk

  • xunit: функционал фреймворка тестирования

  • xunit.runner.visualstudio: обеспечивает интеграцию с Visual Studio

Добавление xunit в ASP.NET Core

Причем вначале лучще добавлять Microsoft.NET.Test.Sdk, так как он содержит ряд зависимостей,используемых в xunit.runner.visualstudio.

Как было отмечено выше, в Visual Studio 2019 мы могли бы выбрать для создания проекта тестов шаблон xUnit Test Project(.NET Core) - он по умолчанию включает все выше описанные пакеты.

После добавления этих пакетов также в проекте тестов необходимо добавить ссылку на главный проект:

Добавление проекта тестов в ASP.NET Core

Таким образом, проект тестов настроен, и мы можем приступать к тестированию.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850