Введение
- Модульное тестирование — это шаблон проектирования программного обеспечения, который используется для тестирования мельчайших компонентов на этапе разработки программного обеспечения.
- Модульное тестирование используется для проверки функциональности, которая должна создать ожидаемый результат перед переходом в производственную среду и группу контроля качества.
- Это помогает обнаруживать проблемы на ранней стадии цикла разработки программного обеспечения.
- Существует множество инструментов модульного тестирования, которые уже присутствуют при использовании .NET Framework, таких как xUnit, NUnit и многие другие.
xUnit
- xUnit — это бесплатная среда модульного тестирования с открытым исходным кодом для разработки .NET.
- xUnit имеет множество функций, позволяющих написать чистый и хороший модульный тест.
- Он имеет множество атрибутов, таких как Fact, Theory и многие другие, для эффективного и чистого написания тестовых случаев, а также предоставляет механизм для создания нашего собственного атрибута.
Атрибуты xUnit
- Атрибут [Fact] используется xUnit в .NET, который идентифицирует метод модульного теста.
[Fact] public void EvenNumberTest() { //Arrange var num = 6;
//Act bool result = Mathematics.IsEvenNumber(num);
//Assert Assert.True(result); }
- Атрибут [Theory] используется для предоставления параметров методу тестирования.
[Theory] [InlineData(5)] public void OddNumberTest(int num) {
//Act bool result = Mathematics.IsOddNumber(num);
//Assert Assert.True(result); }
Тестовый шаблон
Arrange-Act-Assert — отличный способ писать понятные и более читаемые модульные тесты.
- Упорядочить
В разделе аранжировки мы настраиваем и объявляем некоторые входные данные и переменную конфигурации.
- Действовать
В разделе Act размещаем основные вещи и функционал вроде вызовов методов, вызовов API и что-то в этом роде.
- Подтвердить
Assert проверяет ожидаемые результаты и проверяет, будут ли они соответствовать нашим функциональным требованиям или нет.
Начнем с практического примера использования .NET Core 6 и xUnit.
Шаг 1)
Откройте код VS и создайте один каталог «UnitTesting», а затем создайте там новое решение, используя приведенную ниже команду.
dotnet new sln
Шаг 2)
Создайте новый проект библиотеки классов TestDemo.
dotnet new classlib -o TestDemo
Шаг 3)
Затем перейдите в каталог, где находится файл решения, и добавьте проект TestDemo в файл решения.
dotnet sln add .\TestDemo\TestDemo.csproj
Шаг 4)
Позже создайте проект xUnit TestDemo.Tests.
dotnet new xunit -o TestDemo.Tests
Шаг 5)
Добавьте проект TestDemo.Tests xUnit в файл решения.
dotnet sln add ./TestDemo.Tests/TestDemo.Tests.csproj
Шаг 6)
Добавьте ссылку на проект TestDemo в проект TestDemo.Tests, связанный с xUnit.
dotnet add ./TestDemo.Tests/TestDemo.Tests.csproj reference ./TestDemo/TestDemo.csproj
Шаг 7)
Структура проекта
Шаг 8)
Создайте один класс математики в проекте TestDemo, как показано ниже.
Шаг 9)
Затем создайте класс UnitTest1 в TestDemo.Tests, в котором мы пишем разные тестовые случаи.
Шаг 10)
Я предлагаю вам установить .NET Core Test Explorer для тестового случая.
Шаг 11)
Наконец, вы можете запустить свой тестовый пример, как показано ниже, и вы можете вывести все свои тестовые примеры, если они будут выполнены правильно, тогда зеленый щелчок появится перед именем тестового примера и под атрибутом [Fact] в классе Mathematics. и если ожидаемый результат не создается приложением, то крестик ставится перед тестовым примером и под атрибутом [Факт].
Заключение
Мы обсудили, что такое модульный тестовый пример и его цель, а позже представили xUnit, атрибуты и некоторые шаблоны. А также пошаговая практическая реализация с использованием .NET Core 6 в VS Code.