ЖАНРЫ

Шрифт:

Заключение

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

Технология Ajax — это современная

технология, которая все более широко распространяется в Интернете. Возникает все больше крупных и мелких вебпроектов, которые используют Ajax в той или иной мере. Многие старые проекты при обновлении также начинают использовать Ajax. В связи с этим понимание и умение использовать технологию на практике — это важное условие построения современного веб-сайта в наше время. И как мы показали в этой главе, MVC Framework предоставляет все возможности для работы с Ajax и поддерживает разработчика удобными инструментами.

ГЛАВА 8

Тестирование веб-приложений

В главах 1 и 2 книги было особо отмечено, что простота автоматизированного тестирования является одним из значительных преимуществ MVC Framework над WebForms. Пришло время рассмотреть более детально процесс автоматического тестирования веб-приложений, созданных на базе MVC Framwork.

В этой главе мы воспользуемся популярным решением с открытым кодом для создания автоматических тестов — NUnit, которое стало стандартом "де-факто" для многих команд веб-разработчиков на платформе Microsoft .NET.

Установка и настройка NUnit

Для начала необходимо загрузить и установить оснастку тестирования NUnit . Затем установить шаблоны проектов тестирования , для этого нужно загрузить архив NUnit Test Templates, скопировать содержимое директории CSharp в директорию \Documents\Visual Studio 2008\Templates\ProjectTemplates\Visual C# (аналогично для директории Visual Basic, если вы используете язык Visual Basic), после чего загрузить данные из REG-файла в реестр для регистрации шаблона NUnit в мастере создания проектов ASP.NET MVC Framework.

Когда вы завершите процедуры установки NUnit и шаблонов проектов, при создании нового проекта ASP.NET MVC Framework появится возможность создать проект для тестирования с использованием NUnit (рис. 8.1).

После создания проекта вместе с проектом веб-приложения будет создан проект библиотеки классов, являющийся основной сборкой для тестирования веб-приложения, представленный на рис. 8.2.

Рис. 8.2. Проект тестирования веб-приложения

В случае если необходимо создать проект тестирования для уже существующего проекта, достаточно добавить в решение проект библиотеки классов, добавить в него ссылку на тестируемый проект и ссылку на сборку nunit.framework.dll, находящуюся в директории bin в директории установки NUnit, и создать тесты так, как будет показано далее в этой главе.

Создание

и выполнение тестов

Набор простейших тестов, проверяющий корректность работы контроллера Home из шаблона веб-приложения, приведен в листинге 8.1.

Листинг 8.1. Тесты контроллера Ноше

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Web.Mvc;

using NUnit.Framework;

using MvcTestApp;

using MvcTestApp.Controllers;

namespace MvcTestApp.Tests.Tests.Controllers

{

[TestFixture]

public class HomeControllerTest

{

[Test]

public void Index

{

HomeController controller = new HomeController;

ViewResult result = controller.Index as ViewResult;

ViewDataDictionary viewData = result.ViewData;

Assert.AreEqual("Welcome to ASP.NET MVC!",

viewData["Message"]);

}

[Test]

public void About

{

HomeController controller = new HomeController;

ViewResult result = controller.About as ViewResult; Assert.IsNotNull(result);

}

}

}

Тесты представляют собой методы, помеченные атрибутом Test, помещенные в классы, помеченные атрибутом TestFixture. Среда выполнения тестов NUnit находит в сборке с тестами тестирующие методы именно по этим атрибутам.

Структура каждого теста может быть разбита на три основных элемента:

? подготовка данных и объектов для проведения теста;

? выполнение действия, результат которого нужно протестировать;

? проверка результатов выполнения действия.

Рассмотрим тестовый метод Index из листинга 8.1, проверяющий одноименное действие контроллера Home.

Подготовка данных и объектов в этом случае представляет собой только лишь создание экземпляра класса HomeController.

HomeController controller = new HomeController;

Выполнение действия — вызов метода Index у созданного ранее объекта controller, возвращающего результат типа viewResult.

ViewResult result = controller.Index as ViewResult;

Проверка результата в данном случае заключается в проверке значения, помещенного в коллекцию ViewData с ключом Message с помощью метода класса Assert, используемого для целей отладки и тестирования.

Assert.AreEqual("Welcome to ASP.NET MVC!", viewData["Message"]);

После того как тесты созданы, сборку, содержащую тесты, нужно скомпилировать и загрузить в графическую оболочку NUnit. Оболочка распознает методы, помеченные атрибутами Test, и выводит их в виде дерева тестов, как это показано на рис. 8.3.

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

Теперь представим себе, что вследствие развития проекта результат выполнения метода Index изменился, и в коллекцию ViewData с ключом Message помещается другая строка.

Поделиться с друзьями: