Пример модульного теста

Оценить
(0 голоса)

Прежде чем продвигаться дальше, есть смысл рассмотреть модульное тестирование (чтобы лучше его понять). Помните, модульный тест— это просто тестовый код, который вы пишете для вызова кода вашего приложения. Этот тестовый код подтверждает, что в результате вызо­ва вашего кода некие условия становятся либо истинными, либо ложными. В зависимости от этого тест либо проходит, либо нет. Если, например, вы ожидаете результата "истина", а он оказывается "ложь", то тест не прошел. Давайте рассмотрим реальный пример.

Предположим, что у вас есть Web-сервис, который возвращает профиль клиента из базы данных. Этот Web-сервис принимает в качестве параметра идентификатор клиента. Вы мо­

жете написать простой тест для вызова этого Web-сервиса и передачи ему заранее известно­го идентификатора из базы данных. Этот тест может подтвердить, что ваш код не только работает, но и работает правильно. В листинге 26.1 показан пример такого теста.

[TestMethod () ]

public void GetCustomerProfileTest() {

CustomerProfile custProfileService = new CustomerProfile(); int customerld•= 1234;

Customer customer = custProfileService.GetCustomerProfile(customerld);

Assert.AreEqual(customer.Id, 1234);

}

Обратите внимание, что этот код похож на обычный код на языке С#. Вы помечаете метод как тест посредством добавления атрибута TestMethod. Внутри кода вы создаете объект и делаете вызов метода. Если этот вызов заканчивается неудачно (или возникает исключение), то тест не проходит. Затем в тесте вы делаете проверку, чтобы убедиться в том, что возвра­щенный объект совпадает с ожидаемым результатом. Если эта проверка не проходит (зна­чения не равны), то тест не проходит. Если проверка проходит, то тест тоже проходит. Для полноты в этот тест можно было бы добавить еще несколько проверок. Кроме того, вы мог­ли бы создать для этого метода еще несколько дополнительных тестов. Однако теперь вы уже должны иметь представление об основах модульного тестирования. Мы углубимся в эту тему чуть позже.

Создание эффективных модульных тестов
Классы и методы модульных тестов
Создание модульных тестов
Выполнение модульных тестов
Анализ покрытия кода

Добавить комментарий


Защитный код
Обновить

© 2018 www.visualstudios.ru. Все права защищены.