19.3.2. Тестирование и отладка приложений Rails

19.3.2. Тестирование и отладка приложений Rails

В Rails встроена серьезная поддержка тестирования. Обратите внимание на каталог test, который создается для каждого нового приложения. Он заполняется по мере развития приложения; вы можете (и должны) добавлять тесты по ходу создания новой функциональности.

По принятому в Rails соглашению, автономные тесты служат для тестирования моделей, а функциональные — для тестирования контроллеров. Этим объясняется наличие подкаталогов unit и functional в каталоге test. (Вне контекста Ruby on Rails эти термины используются несколько иначе.)

Для тестирования в Rails большое значение имеет понятие стенда. Стенд (fixture) — это моментальный снимок начального содержимого модели, иными словами, набор фиктивных данных для тестирования. Все данные такого рода хранятся в формате YAML в файлах, расположенных в каталоге test/fixtures.

Каталог test/mocks предназначен для хранения кода, играющего роль объекта-заглушки. Заглушки служат для имитации еще не реализованного сервиса или класса. Считайте это подобием голливудской декорации, которая только внешне похожа на реальность. Классический пример — шлюз в систему обработки кредитных карт; с помощью заглушек мы можем протестировать взаимодействие с ним, не имея настоящего шлюза.

Следует также знать о понятии консоли в Rails. Запуск сценария script/console открывает сеанс, похожий на irb, в котором доступен код модели. В нем вы можете выполнять запросы с помощью ActiveRecord и другие подобные операции.

Еще полезнее прерыватель (breakpointer). Расположите в любом месте своей программы вызов метода breakpoint и запустите утилиту script/breakpointer. Вы окажетесь в сеансе irb в контексте установленной точки прерывания и сможете просматривать и изменять значения переменных экземпляра и т.п.

В последних версиях Rails появилась также поддержка для тестирования сопряжений. Для этого применяется специализированный язык DSL, описывающий поток управления в Web-приложении на верхнем уровне. Он ориентирован на заказчиков, не имеющих технической подготовки, но пригодится и тем пользователям, которые хорошо знакомы с внутренним устройством приложения.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.2.11. Отладка CGI

Из книги Интернет решения от доктора Боба автора Сворт Боб

2.2.11. Отладка CGI Страницу HTML с результатом, сгенерированную по запросу мы модем увидеть выполнив CGI приложение. Для этого требуется (персональный) Web сервер. По этому я написал небольшую программу отладки, используя Delphi 2.01 и NetManage HTML


2. Отладка и трассировка.

Из книги Идиомы и стили С++ автора Makhmutov Albert

2. Отладка и трассировка. Ну это совсем банально. Выносим определение операторов за определение класса и ставим там точку останова. Чтобы не тормозило в релиз версии, окружаем слово inline ифдефами.template ‹class T›#ifndef DEBUGinline#endifSmartPointer‹T›::operator T*() { return tObj;}template ‹class T›#ifndef


Отладка

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Отладка Инструкция отладки является средством условной компиляции. Она записывается так:debug instruction; instruction; ... endВ файле управления (Ace-файле) для каждого класса можно включить или отключить параметр debug. При его включении все инструкции отладки данного класса выполняются,


Глава 16. Тестирование и отладка

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Глава 16. Тестирование и отладка Неполадки в блоке АЕ-35. В ближайшие семьдесят два часа блок может отказать. Артур Кларк, «Космическая Одиссея 2001 года» Тестирование — вещь важная. Все компетентные программисты об этом знают, хотя не всегда этот вопрос стоит для них на


19.3. Ruby on Rails

Из книги Учебник по Delphi 4.0 автора Автор неизвестен

19.3. Ruby on Rails В сообществе пользователей Ruby одним из самых широко известных каркасов для Web является Ruby on Rails (или просто Rails). Его автор Дэвид Хайнемайер Хансон (David Heinemeier Hansson).В каркасе Rails широко используются динамические свойства Ruby. У него также есть собственная философия,


8.4. Отладка

Из книги VBA для чайников автора Каммингс Стив

8.4. Отладка Когда программа не делает того, чего от нее ждут, главной проблемой становится отыскание ошибки (или ошибок). Всегда легче найти ошибку в какой-нибудь части программы (или в отдельном модуле), чем во всей программе. Поэтому следует придерживаться следующего


4-й шаг. Отладка

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

4-й шаг. Отладка По мере усложнения программ вероятность появления ошибок в работе (ошибок выполнения) растет экспоненциально. После обнаружения такой ошибки главной задачей становится выявление причины ошибки и устранение проблемы. Одним словом, это отладка.В небольших


Тестирование и отладка

Из книги Программирование для карманных компьютеров автора Волков Владимир Борисович

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


Отладка

Из книги Цифровой журнал «Компьютерра» № 164 автора Журнал «Компьютерра»

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


Отладка приложений в eVB

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Отладка приложений в eVB Отладка приложений в eVB довольно проста. После нажатия кнопки режим отладки включается автоматически. В зависимости от того, какое устройство было выбрано в списке Devices, отладка происходит на эмуляторе или на подключенном к настольному компьютеру


Тестирование приложений для Android как инструмент выхода в ТОП на Google Play Дмитрий Куриленко, компания Promwad

Из книги Как тестируют в Google автора Уиттакер Джеймс

Тестирование приложений для Android как инструмент выхода в ТОП на Google Play Дмитрий Куриленко, компания Promwad Опубликовано 13 марта 2013По итогам 2012 года операционная система Android стала лидером среди мобильных платформ: её доля на мировом рынке превысила 53 процента. Для


5.1.7. Отладка

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

5.1.7. Отладка Команда ipcs выдает информацию о взаимодействии процессов, включая сведения о совместно используемых сегментах (для этого следует задать флаг -m). Например, в показанном ниже случае сообщается о том, что используется один такой сегмент, с номером 1627649:% ipcs -m--------


5.2.4. Отладка семафоров

Из книги автора

5.2.4. Отладка семафоров С помощью команды ipcs -s можно получить информацию о существующих группах семафоров. Команда ipcrm sem позволяет удалить заданную группу, например:% ipcrm sem


Нагрузочное тестирование, продолжительное тестирование и тестирование стабильности

Из книги автора

Нагрузочное тестирование, продолжительное тестирование и тестирование стабильности Команда тестирования создает и выполняет продолжительные тесты на физическом оборудовании в лаборатории. Не забыть про внедрение неисправностей (fault


Отладка

Из книги автора

Отладка Один из худших сеансов отладки за всю мою карьеру случился в 1972 году. Терминалы, подключенные к бухгалтерской системе профсоюза грузоперевозчиков, зависали один-два раза в день. Сознательно воспроизвести ошибку было невозможно. Ошибка не отдавала предпочтений