Упражнение. Создание теста
Давайте применим знания о создания тестов на практике. Представим, что вы разрабатываете приложение-калькулятор, упомянутое в начале этого модуля. Теперь в рамках разработки необходимо настроить тестовый проект и написать первый тест.
В этом упражнении вы напишете тест, выполнив несколько простых шагов.
Настройка кода продукта, который требуется протестировать
Код продукта — это приложение-калькулятор, которое поддерживает операции сложения, вычитания, умножения и деления. Вы создадите программу как консольное приложение.
Запустите консольный проект .NET LearnMyCalculatorApp.
Добавьте новый файл 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 можно не менять.
Создание тестового проекта
Как уже упоминалось в предыдущем уроке, самый простой способ добавить тестовый проект для тестирования определенного метода в коде — щелкнуть этот метод правой кнопкой мыши и выбрать команду Создать модульные тесты. Однако в этом упражнении мы вручную настроим тестовые проекты, чтобы получить более полное представление о связи между тестами и тестируемым кодом.
Щелкните решение правой кнопкой мыши и выберите пункт Добавить проект, чтобы добавить шаблон тестового проекта и открыть Обозреватель решений.
Выберите шаблон проекта MSTest в диалоговом окне Добавление нового проекта. В .NET существует ряд популярных платформ тестирования. MSTest: это встроенный вариант для .NET, выпущенный командой .NET.
Присвойте тестовому проекту имя. В базах кода используется много соглашений об именовании, указывающих на организацию набора тестов. Как правило, имена для тестовых проектов похожи на
<MyAppProjectName>.Tests
.Ваш тест должен быть предназначен для той же платформы, что и приложение, которое требуется протестировать.
Добавление ссылки на код продукта из тестового проекта
Теперь, когда у вас есть тестовый проект, он должен ссылаться на код, который требуется протестировать. С помощью ссылки можно вызывать приложение из тестов.
Щелкните правой кнопкой мыши тестовый проект в Обозревателе решений и выберите команду Добавить ссылку на проект. Выберите проект, который требуется протестировать. В данном случае выберите созданный вами консольный проект, содержащий файл Calculator.cs.
Добавьте оператор import в начало тестовых файлов C#, чтобы разрешить ссылки на любые типы в пространствах имен кода продукта.
C#using Microsoft.VisualStudio.TestTools.UnitTesting; using LearnMyCalculatorApp;
Добавление проверочных утверждений
Теперь добавим проверочное утверждение, чтобы сообщить средству выполнения тестов условия, при которых тест должен быть пройден. Шаблоны содержат заранее написанный тест. Добавим тест, чтобы проверить, не имеет ли тип калькулятора после инициализации значение NULL.
Добавьте проверочное утверждение
Assert.IsNotNull()
в конец метода, чтобы проверить, не имеет ли тип в коде продукта значение NULL.C#[TestMethod] public void CalculatorNullTest() { var calculator = new Calculator(); Assert.IsNotNull(calculator); }
Запустите тест, щелкнув правой кнопкой мыши и выбрав команду Запустить тест(ы). Тест должен быть пройден, так как переменная
calculator
не имеет значение NULL.Добавьте проверочное утверждение в конец метода
CalculatorNullTest
, который приводит к завершению теста сбоем. Можно использовать следующий пример, чтобы доказать, чтоIsTrue
имеет логическое значение false.C#Assert.IsTrue(false); // Will fail the test
Еще раз выполните тест и убедитесь, что он завершается сбоем.
Поздравляем! Вам удалось успешно создать и выполнить тест в коде продукта. Вы в отличном положении, чтобы продолжить добавлять тесты и создать надежный продукт.