Упражнение. Создание теста

Завершено XP: 100

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

В этом упражнении вы напишете тест, выполнив несколько простых шагов.

Настройка кода продукта, который требуется протестировать

Код продукта — это приложение-калькулятор, которое поддерживает операции сложения, вычитания, умножения и деления. Вы создадите программу как консольное приложение.

  1. Запустите консольный проект .NET LearnMyCalculatorApp.

  2. Добавьте новый файл Calculator.cs с помощью следующего кода.

    C#
    namespace LearnMyCalculatorApp
    {
        public class Calculator
        {
            public int Add(int x, int y)
            {
                return x + y;
            }
    
            public int Subtract(int x, int y)
            {
                return x - y;
            }
    
            public int Multiply(int x, int y)
            {
                return x * y;
            }
    
            public int Divide(int x, int y)
            {
                return x / y;
            }
        }
    }
    

В рамках этого минимального примера файл Program.cs можно не менять.

Создание тестового проекта

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

  1. Щелкните решение правой кнопкой мыши и выберите пункт Добавить проект, чтобы добавить шаблон тестового проекта и открыть Обозреватель решений.

  2. Выберите шаблон проекта MSTest в диалоговом окне Добавление нового проекта. В .NET существует ряд популярных платформ тестирования. MSTest: это встроенный вариант для .NET, выпущенный командой .NET.

    Снимок экрана диалогового окна

  3. Присвойте тестовому проекту имя. В базах кода используется много соглашений об именовании, указывающих на организацию набора тестов. Как правило, имена для тестовых проектов похожи на <MyAppProjectName>.Tests.

    Снимок экрана страницы настройки нового проекта с выбранным именем нового проекта.

  4. Ваш тест должен быть предназначен для той же платформы, что и приложение, которое требуется протестировать.

    Снимок экрана в Visual Studio с двумя открытыми рядом проектами. Оба проекта ссылаются на одну и ту же требуемую версию .NET Framework.

Добавление ссылки на код продукта из тестового проекта

Теперь, когда у вас есть тестовый проект, он должен ссылаться на код, который требуется протестировать. С помощью ссылки можно вызывать приложение из тестов.

  1. Щелкните правой кнопкой мыши тестовый проект в Обозревателе решений и выберите команду Добавить ссылку на проект. Выберите проект, который требуется протестировать. В данном случае выберите созданный вами консольный проект, содержащий файл Calculator.cs.

    Снимок экрана Обозревателя решений в Visual Studio с открытым контекстным меню узла зависимостей и выбранным пунктом

  2. Добавьте оператор import в начало тестовых файлов C#, чтобы разрешить ссылки на любые типы в пространствах имен кода продукта.

    C#
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using LearnMyCalculatorApp;
    

Добавление проверочных утверждений

Теперь добавим проверочное утверждение, чтобы сообщить средству выполнения тестов условия, при которых тест должен быть пройден. Шаблоны содержат заранее написанный тест. Добавим тест, чтобы проверить, не имеет ли тип калькулятора после инициализации значение NULL.

  1. Добавьте проверочное утверждение Assert.IsNotNull() в конец метода, чтобы проверить, не имеет ли тип в коде продукта значение NULL.

    C#
    [TestMethod]
    public void CalculatorNullTest()
    {
        var calculator = new Calculator();
        Assert.IsNotNull(calculator);
    }
    
  2. Запустите тест, щелкнув правой кнопкой мыши и выбрав команду Запустить тест(ы). Тест должен быть пройден, так как переменная calculator не имеет значение NULL.

  3. Добавьте проверочное утверждение в конец метода CalculatorNullTest, который приводит к завершению теста сбоем. Можно использовать следующий пример, чтобы доказать, что IsTrue имеет логическое значение false.

    C#
    Assert.IsTrue(false); // Will fail the test
    
  4. Еще раз выполните тест и убедитесь, что он завершается сбоем.

    Снимок экрана окна редактора в Visual Studio с выбранным параметром

Поздравляем! Вам удалось успешно создать и выполнить тест в коде продукта. Вы в отличном положении, чтобы продолжить добавлять тесты и создать надежный продукт.


Следующий урок: Просмотр, запуск и отладка тестов

Предыдущий Следующая