Интеграция модульного тестирования с ASP.NET Core – iFour

Юнит-тестирование используется для проверки отдельных компонентов или блоков с целью определения наличия каких-либо проблем самим разработчиком. Юнит-тестирование используется для проверки того, что каждый компонент программного кода работает так, как ожидается. Юнит-тестирование касается функциональной корректности отдельных модулей и выполняется разработчиком на этапе разработки приложения.

Зачем нужны модульные тесты?

Юнит-тестирование важно, потому что программное обеспечение может дать сбой неожиданным образом. Ручное тестирование является медленным, наименее надежным и дорогостоящим способом тестирования приложения. В то время как модульное тестирование экономит время и деньги, если оно реализовано правильно.

Вот несколько основных причин для проведения модульного тестирования:

  • модульное тестирование

используются для исправления ошибок на ранних стадиях разработки и позволяют сэкономить затраты и время.

  • Оно используется разработчиками для понимания кодовой базы и позволяет им быстро вносить изменения.
  • Хорошее модульное тестирование служит проектной документацией программного обеспечения.
  • Юнит-тесты используются для повторного использования кода, и с их помощью легко выявить дефекты в любом приложении.

Инструменты для модульного тестирования

Существует множество автоматизированных инструментов для тестирования приложений.

Ниже приведены несколько примеров:

1) Junit

Junit – это бесплатный инструмент тестирования, используемый разработчиками для языка программирования Java. Он реализует утверждения для идентификации метода тестирования. Junit используется для тестирования сначала данных, а затем вставляется в кусок кода.

2) NUnit

NUnit – это фреймворк, широко используемый разработчиками для модульного тестирования приложений, разработанных на всех языках .NET. Nunit имеет открытый исходный код и поддерживает тесты, управляемые данными, которые выполняются параллельно. Nunit позволяет разработчику написать сценарий вручную.

3) PHPUnit

PHPUnit – это инструмент модульного тестирования, используемый разработчиком для тестирования приложения. PHPUnit тестирует небольшую часть кода, известную как юнит. PHPUnit предоставляет заранее определенные утверждения для подтверждения того, что система ведет себя должным образом.

4) JMockit

JMockit – это модульное тестирование с открытым исходным кодом с метриками строк и путей. JMockit позволяет разработчику записывать и проверять синтаксис в API и предлагает покрытие строк, покрытие путей и покрытие данных.

5) EMMA

EMMA – это инструментарий с открытым исходным кодом, используемый разработчиком для анализа и отчетности кода, написанного на языке Java. Emma представляет собой внешнюю библиотеку на базе java и поддерживает покрытие типа метод, строка, базовый блок.

Настройка модульного тестирования в приложении ASP.NET Core

На рынке существует множество фреймворков тестирования, но мы будем использовать xUnit, который является очень популярным фреймворком тестирования. Самый простой способ создания юнит-тестов для проекта веб-приложения ASP.NET Core – это создание нового тестового проекта с использованием шаблона.

Мы можем создать тестовый класс для каждого класса приложения. Простой модульный тест включает в себя три шага:

  • Упорядочить: На этом шаге устанавливаются необходимые переменные и объекты.
  • Действовать: На этом шаге вызывается метод с необходимым для тестирования параметром.
  • Assert: На этом шаге проверяется ожидаемый результат.

Читать далее: Как защитить веб-приложение Asp.net Core?

Создание образца приложения ASP.NET Core

Для создания консольного приложения ASP.NET Core выполните следующие шаги:

Шаг 1: Откройте Visual Studio, выберите опцию File -> New option -> Project.

Шаг 2: Выберите шаблон ASP.NET Core Console Application и нажмите Next.

Шаг 3: Введите имя проекта, а затем нажмите Создать.

Шаг 4: Создайте новый класс

Добавьте новый класс Calculator.cs


namespace UniTestDemo
{
    public static class Calculator
    {
        public static double Addition(double num1, double num2)
        {
            return (num1 + num2);
        }

        public static double Subtraction(double num1, double num2)
        {
            return (num1 - num2);
        }

        public static double Multiplication(double num1, double num2)
        {
            return (num1 * num2);
        }

        public static double Division(double num1, double num2)
        {
            return (num1 / num2);
        }
    }
}

Вход в полноэкранный режим Выйти из полноэкранного режима

Теперь добавьте проект для тестирования

1: В Visual Studio 2019 щелкните правой кнопкой мыши на solution-> Add -> Project.

2: В диалоговом окне Создание нового проекта выберите шаблон Test ->xUnit Test Project (.Net Core) и нажмите Далее.

3: Введите имя проекта, а затем нажмите кнопку Создать.

Шаг 5: Добавьте ссылку в проект

Щелкните правой кнопкой мыши на вашем проекте тестирования (XTestDEmo)->Добавить-> ссылку.

Ищете выделенного веб-разработчика ASP.Net Core? Ваш поиск закончится здесь.

Шаг 6: Теперь добавьте один класс в проект ‘XTestDEmo’ с именем ‘TestCalculator.cs’.

В классе ‘TestCalculator.cs’ мы напишем тестовый пример для метода, определенного в ‘Calculator.cs’. Эти методы состоят из трех шагов: Arrange, Act, Assert.

Следующий класс содержит тестовые случаи для Calculator:


using System;
using UniTestDemo;
using Xunit;

namespace XTestDEmo
{
    public class TestCalculator
    {
        [Fact]
        public void Test_Addition()
        {
            // Arrange  
            var number1 = 4.9;
            var number2 = 3.1;
            var expectedValue = 8;

            // Act  
            var sum = Calculator.Addition(number1, number2);

            //Assert  
            Assert.Equal(expectedValue, sum, 1);
        }

        [Fact]
        public void Task_Subtract_TwoNumber()
        {
            // Arrange  
            var number1 = 3.2;
            var number2 = 1.5;
            var expectedValue = 1.7;

            // Act  
            var sub = Calculator.Subtraction(number1, number2);

            //Assert  
            Assert.Equal(expectedValue, sub, 1);
        }

        [Fact]
        public void Test_Multiplication()
        {
            // Arrange  
            var number1 = 2.5;
            var number2 = 3.5;
            var expectedValue = 8.75;

            // Act  
            var mult = Calculator.Multiplication(number1, number2);

            //Assert  
            Assert.Equal(expectedValue, mult, 2);
        }

        [Fact]
        public void Test_division()
        {
            // Arrange  
            var number1 = 2.9;
            var number2 = 3.1;
            var expectedValue = 0.94; //Rounded value  

            // Act  
            var div = Calculator.Division(number1, number2);

            //Assert  
            Assert.Equal(expectedValue, div, 2);
        }
    }
}


Вход в полноэкранный режим Выход из полноэкранного режима

Шаг 7: Теперь запустите тестовые случаи

Для запуска всех тестовых случаев откройте Test Explorer, где вы найдете все тестовые случаи. Для запуска нажмите на RunAll, это приведет к началу выполнения тестовых примеров.

Чтобы открыть Test Explorer в visual studio, нажмите на Test option->Window->Test Explorer.

После успешного выполнения тестового примера на экране появится окно вывода, как показано ниже.

Заключение

В этом блоге мы обсудили модульное тестирование в ASP.NET, которое используется разработчиком для выявления дефектов, а также рассказали о цели модульного тестирования. Мы проиллюстрировали простой пример модульного тестирования с помощью Xunit на примере приложения ASP.NET Console. Мы надеемся, что вы получите четкое представление о том, как интегрировать модульное тестирование.

Оцените статью
Procodings.ru
Добавить комментарий