# Test-BDD-Cucumber-Definitions [![Build Status](https://travis-ci.org/ivanych/Test-BDD-Cucumber-Definitions.svg?branch=master)](https://travis-ci.org/ivanych/Test-BDD-Cucumber-Definitions) ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ ÑˆÐ°Ð³Ð¾Ð² Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Ñтиле Cucumber на Ñзыке Perl. # Шаги Шаги могут быть напиÑаны на разных Ñзыках. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÐµÑÑ‚ÑŒ шаги на двух Ñзыках: * In - Internal (внутренний пÑевдо-Ñзык) * Ru - РуÑÑкий # ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñех имеющихÑÑ ÑˆÐ°Ð³Ð¾Ð² напиÑаны как отдельные функции. Ðто позволÑет легко Ñоздавать новые шаги, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð´Ð»Ñ Ñтого готовые определениÑ. Ðовые шаги проÑто ÑобираютÑÑ Ð¸Ð· готовых определений как конÑтруктор. ДопуÑтим, еÑÑ‚ÑŒ шаг: When запрошена Ñтраница 'http://metacpan.org' и его определение: get_page('http://metacpan.org'); ЕÑÑ‚ÑŒ второй шаг: Then Ñтраница загрузилаÑÑŒ уÑпешно и его определение: check_code(200); Теперь можно легко Ñоздать новый шаг: Given загружена Ñтраница 'http//metacpan.org' проÑто объединив два определениÑ: get_page('http://metacpan.org'); check_code(200); # Модули ДиÑтрибутив Ñодержит неÑколько модулей Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ протоколами и данными. ## HTTP Модуль Ñодержит функции Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ по протоколу HTTP. Ð’ модуле имеютÑÑ Ð²Ñтроенные функции Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ в проÑÑ‚Ñ‹Ñ… текÑтовых форматах (text/plain и text/html). ## JSON Модуль Ñодержит функции Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ в формате JSON.