Написание системных тестов для веб-приложений
Информация по теме
Документация
- Официальный сайт фреймворка для тестирования RSpec
- Страница с документацией на фреймворк RSpec
- Рекомендации по написанию спецификаций BetterSpec
- Официальная документцаия Sinatra по написанию тестов
- Страница библиотеки тестирования веб-приложений Capybara
- Официальная документация по использованию Capybara
- Запуск RSpec тестов с фильтрацией по тегам
- Запуск тестов RSpec с помощью Rake
Материалы с занятий
Приложение, реализованное на занятии можно скачать по ссылке.
Задача
Напишите веб-приложение для пекаря и тесты для основных сценариев его использования.
- Выпечка шедевра.
- Пекарь открывает список рецептов и просматривает его постранично. На одной странице выводится не более 5 рецептов шедевров.
- Пекарь выбирает второй шедевр на второй странице.
- Пекарь видит список ингридиентов на странице и в физическом мире достаёт их из хранилища (операции физического мира проверять не нужно).
- Пекарь начинает выпечку шедевра, выполняя инструкции по его созданию. Инструкции выводятся на одной странице.
- Добавление нового рецепта для очередного шедевра.
- Пекарь открывает список рецептов.
- Нажимает на кнопку “добавить шедевр”.
- В появившемся окне пекарь вводит необходимые данные: название, список ингридиентов и шаги по выпеканию шедевра. Для описания шедевра можно использовать язык разметки наподобие Markdown.
- Официальная страница спецификации CommonMark.
- Интерактивный урок по языку разметки Markdown.
- Краткое руководство на русском языке.
- Библиотека RedCarpet для преобразования Markdown в HTML.
Для простоты реализации предлагается рассматривать вставляемые блоки текста как предформатированные.
- Пекарь нажимает на кнопку “Добавить шедевр”, приложение проверяет правильность заполнения формы и, если всё верно, то добавляет её в список шедевров. Приложение не должно позволять добавлять несколько шедевров с одним именем.
- Приложение показывает страницу шедевра.
- Редактирование рецепта по созданию шедевра.