Ruby on Rails → Request spec in Action
Тестирование стало неотъемлемой частью любой разработки программного продукта, будь то приложение под настольный компьютер, мобильное устройство или web. Уже никто не отрицает важность это этапа и последствий, которые принесет его отсутствие. Среди них большое время на проверку каждого элемента (страницы), и неожиданные сюрпризы в поведении продукта, увеличение затрат на исправление программы. Принцип написания тестов достаточно прост – «желтый цвет», «красный цвет», «зеленый цвет», рефакторинг. Где желтый цвет – это не созданный тест (pending), красный цвет – не прошедший тест, а зеленый – системе работает как надо.
Для каждого вида программирования, существует множество типов тестирования. Но есть и общие моменты, присутствующие везде. Так как основной род моей работы является создание web приложений под ROR, поговорим про особенности тестирования данных приложений.
Для каждого вида программирования, существует множество типов тестирования. Но есть и общие моменты, присутствующие везде. Так как основной род моей работы является создание web приложений под ROR, поговорим про особенности тестирования данных приложений.
Ruby → Как присоединить свой Ruby-проект к Travis и приготовить Мартини за 15 минут

Налицо тенденция, что каждый проект на Ruby присоединяется к Travis. Travis — очень простая, опенсурсная система непрерывной интеграции. Нам обычно лень подключать все свои проекты к автоматическому тестированию билдов. Travis позволяет сделать это за считанные минуты.
Это пошаговая инструкция, как присоединить свой проект к Travis и приготовить вкуснейший коктейль с Мартини примерно за 15 минут. Следует заметить, что на приготовление Мартини уйдет минут пять, так что часть про Travis займет 10 минут вашей жизни.
Ruby on Rails → Rails custom Scaffolding

Наверное каждый в начале работы с ROR был впечатлен возможностью Scaffolding'а, который позволяет одной командой создавать migrations, controllers, models и views.
Но что делать если в своем проекте вы используете не стандартные Rails утилиты: erb, Test::Unit, fixturies, а сторонние инструменты: Haml, Rspec, Cucumber, Factory Girl и более того, хотите добавить собственные шаблоны?
Интересно? GOTO next line.
Исходные данные:
Ruby on Rails; Rspec; will-paginate; Haml; Factory-girl
Задача:
% rails generate scaffold post post:string Генерирует:
- contoller's с поддержкой will_paginate, русскоязычными сообщениями
- model's с поддержкой will_paginate
- view's с заданным нами содержимым и в формате haml
- Rspec тесты, вместо Test::Unit
- Factory Girl factories вместо стандартных fixtures
Ruby → Rails, RSpec и немного практики из песочницы
В сети можно найти достаточно много информации, посвящённой тестированию Rails кода с помощью RSpec, и всё же, когда я начал изучать эти технологии, то столкнулся с нехваткой практических примеров, которые бы шаг за шагом показывали процесс написания тестируемого кода. Посему решил отчасти исправить этот недостаток.
Для понимания написанного ниже желательно иметь базовое представление о Ruby и Rails, а так же желание немножко познакомиться с RSpec.
Для понимания написанного ниже желательно иметь базовое представление о Ruby и Rails, а так же желание немножко познакомиться с RSpec.
Ruby → Ruby NoName Podcast S03E02
Тви: rubynoname.
RSS и сайт подкаста на RPod.ru
Безымянный подкаст о руби, второй выпуск третьего сезона!
В подкасте использована композиция 8 BIT Junkie by George Wood и Different Way by Antarhes
RSS и сайт подкаста на RPod.ru
Безымянный подкаст о руби, второй выпуск третьего сезона!
Сегодня в программе обсуждаем:
В подкасте использована композиция 8 BIT Junkie by George Wood и Different Way by Antarhes
прослушан 328 раз
Веб-разработка → Rails: Хватит отмазываться, начинаем BDD-ить! из песочницы
Кто здесь?
Когда речь заходит о тестировании существующего продукта, а тем более о разработке чего-то нового на основе изначального написания сценариев использования, различных спецификаций и тестов, то частенько можно слышать подобные вещи:
11:24:21 PM Michael: ну хз, надо пробовать 11:24:24 PM Michael: наверное так лучше 11:24:27 PM Michael: даже я думаю наверняка 11:24:36 PM Michael: но пока меня че-то останавливает 11:24:38 PM Michael: лень наверное :)
Знакомо? «Не хочется разбираться? Нет времени?» Тогда читаем дальше. В статье расскажу, как настроить свое любимое рельсовое окружении на разработку с подходом BDD и начать новую жизнь (опционально).
Ruby → BDD/TDD — Учимся писать матчеры
Разработка, основанная на специфицировании поведения (BDD), — один из краеугольных камней философии Ruby.
Очень удачной реализацией BDD является всем знакомый RSpec. Одной из замечательных черт RSpec является его расширяемость.
Так, мы используем RSpec совместно с Factory Girl (хотя стоило бы перейти на Machinist), RR (прекрасный каркас для заглушек), Spork и недавно перешли с Shoulda на Remarkable.
Естественно, захотелось сразу сделать наши спеки более простыми для понимания. Например, мы хотим проверять в спеках наличие определений обратного вызова.
Хорошим способом сделать это является создание нового «ожидателя» (matcher).
Очень удачной реализацией BDD является всем знакомый RSpec. Одной из замечательных черт RSpec является его расширяемость.
Так, мы используем RSpec совместно с Factory Girl (хотя стоило бы перейти на Machinist), RR (прекрасный каркас для заглушек), Spork и недавно перешли с Shoulda на Remarkable.
Естественно, захотелось сразу сделать наши спеки более простыми для понимания. Например, мы хотим проверять в спеках наличие определений обратного вызова.
Хорошим способом сделать это является создание нового «ожидателя» (matcher).
.NET → Пример практики BDD при работе со Specter Framework
Specter – инфраструктура для составления объектно-поведенческих спецификаций для .NET. Он предоставляет возможности для обеспечения разработки, руководствуясь поведением системы (BDD), требуя от разработчиков написания исполняемой спецификации для объектов перед написанием самих объектов. Технически это ни чем не отличается от разработки по средствам тестирования (TDD), хотя различия в форме написания снимают психологический барьер для написания “тестов” для кода, которого ещё не существует. Есть множество проектов для различных платформ, реализующих данную идею (К примеру RSpec для Ruby, NSpec для .NET. Подробнее о средах здесь).Specter использует возможности мета-программирования языка Boo (CLR .NET) для написания неплохо читаемых спецификаций.
Ruby on Rails → RSpec. Часть #1: создаем тесты для модели
Как и обещал, я начинаю цикл статей, на тему RSpec.
В этой статье, я постараюсь, подробно рассказать, как писать тесты для моделей в Ruby on Rails. Если вы уже знакомы с rspec_on_rails, поправьте и дополните меня, если что то не так. Помните, что я изучаю Rspec вместе с вами и могу где то ошибаться.
В этой статье, я постараюсь, подробно рассказать, как писать тесты для моделей в Ruby on Rails. Если вы уже знакомы с rspec_on_rails, поправьте и дополните меня, если что то не так. Помните, что я изучаю Rspec вместе с вами и могу где то ошибаться.