Модульные тесты MSTest C#

MSTest — это один из популярных фреймворков для юнит-тестирования в .NET, который позволяет писать и выполнять модульные тесты. В этом ответе мы рассмотрим, как настроить MSTest и написать простые тесты на C#.

Установка MSTest

Если вы используете Visual Studio, MSTest уже включен в большинство шаблонов проектов. Если вам нужно добавить его вручную, это можно сделать через NuGet Package Manager. Для этого выполните следующую команду в консоли:

Install-Package MSTest.TestFramework

Install-Package MSTest.TestAdapter

Пример использования MSTest

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

Пример класса Calculator

public class Calculator

{

    public int Add(int a, int b)

    {

        return a + b;

    }

 

}

Написание тестов с использованием MSTest

Теперь создадим класс тестов для Calculator.

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace CalculatorTests

{

    [TestClass]

    public class CalculatorTests

    {

        private Calculator _calculator;

 

        [TestInitialize]

        public void SetUp()

        {

            _calculator = new Calculator();

        }

 

        [TestMethod]

        public void Add_TwoPositiveNumbers_ReturnsSum()

        {

            // Arrange

            int a = 2;

            int b = 3;

 

            // Act

            int result = _calculator.Add(a, b);

 

            // Assert

            Assert.AreEqual(5, result);

        }

 

        [TestMethod]

        public void Add_NegativeAndPositiveNumber_ReturnsCorrectSum()

        {

            // Arrange

            int a = -2;

            int b = 3;

 

            // Act

            int result = _calculator.Add(a, b);

 

            // Assert

            Assert.AreEqual(1, result);

        }

 

        [TestMethod]

        public void Add_TwoNegativeNumbers_ReturnsSum()

        {

            // Arrange

            int a = -2;

            int b = -3;

 

            // Act

            int result = _calculator.Add(a, b);

 

            // Assert

            Assert.AreEqual(-5, result);

        }

    }

 

}

Объяснение кода

  1. Импортирование пространств имен: Мы импортируем пространство имен Microsoft.VisualStudio.TestTools.UnitTesting, которое содержит необходимые атрибуты и классы для написания тестов.

  2. Создание тестового класса: Класс CalculatorTests помечен атрибутом [TestClass], что указывает MSTest, что это класс с тестами.

  3. Инициализация: Метод SetUp помечен атрибутом [TestInitialize], который выполняется перед каждым тестом. Здесь мы создаем экземпляр Calculator.

  4. Написание тестов:

    • Каждый тест помечен атрибутом [TestMethod].

    • В каждом тесте мы используем метод Assert.AreEqual(expected, actual) для проверки, что результат соответствует ожидаемому значению.

Запуск тестов

Чтобы запустить тесты, вы можете использовать встроенные средства Visual Studio:

  1. Откройте окно «Test Explorer» (Тесты).

  2. Нажмите «Run All» (Запустить все), чтобы выполнить все тесты в проекте.

Заключение

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

0
Нет комментариев. Ваш будет первым!