2/16/2014

Настраиваем тестовое окружение Cucumber+Capybara+WebDriver (или Capybara-webkit) в Ruby on Rails приложении.


 

Существует несколько способов установки и настроить тестового окружение на вашем маке. Все они приводят к одному результату.
В этой статье будет рассматриваться самый простой и распространенный по мнению автора метод с использованием homebrew и rvm, хотя в качестве альтернативы можно использовать ruby-build  и  rbenv.
Для того, чтобы можно было считать ваше тестовое окружение настроенным, вы должны установить следующие компоненты:

- XCode
 - Homebrew - менеджер пакетов для MacOS
 - RVM (Ruby Version Manager)  Программа для управления версиями Ruby.
 - Необходимую версию Ruby в зависимости от проектов.
 - Необходимую версию Rails - фреймворка для веб-разработки, написанного на языке программирования Ruby.
 - Гемы


Установка инструментов разработчика

Прежде чем поставить homebrew и rvm, нам нужен компилятор. Так вышло, что с ним в нагрузку идет XCode. Так что откройте App Store, пропишите в строке поиска “XCode” и установите довольно здоровый пакет инструментов разработчика.
У вас есть от 5 до 15 минут чтобы выпить чаю, или сгонять в магазин за пивом пока эта хреновина будет устанавливаться.


Установка пакетного менеджера Homebrew

Вставьте в терминал следующую строку:


$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Во время установки вам будет автоматически предложено установить Command line developer tools, на что нужно дать свое полное и безоговорочное согласие.


Установка распределенной системы управления версиями файлов Git:

Выполнить команду:


$ brew install git

После того как Git будет установлен, можно склонировать проект к себе на машину, выполнив команду:


$ git clone [ssh_clone_url]


Установка СУБД на примере MySQL:

$ brew install mysql


Обязательно выполнить требования, которые вас просит сделать MySQL при установке!


Установка RVM

Для установки в терминале вводим строку


$ \curl -L https://get.rvm.io | bash -s stable


Установка Ruby

Для установки нужной версии Ruby интерпритатора следует выполнить команду:

$ rvm install [ruby_version]


Например:


$ rvm install 1.9.3-p0


Говорим rvm использовать установленную версию Ruby


$ rvm use 1.9.3-p0


Установка менеджера управления гемами Bundler



$ gem install bundler


Установка Rails



$ gem install rails


Установка гемов

Поскольку мы используем bundler, то добавляем в Gemfile вашего проекта


group :test do
 gem 'database_cleaner'
 gem 'capybara'
 gem 'cucumber'
 gem 'cucumber-rails', :require => false
 gem 'selenium-webdriver'
 gem 'capybara-webkit'
end


Выполняем команду


$ brew install qt


И убедившись, что вы находитесь в папке своего проекта выполняем


$ bundle install


После того как новые гемы будут установлены выполните комманду:


$ bundle exec rails generate cucumber:install


Это позволит создать необходимые файлы и структуру для будущих тестов.

Открываем файл features/support/env.rb, который был создан вследствие работы предыдущей команды и вносим базовые настройки

Заставляем Capybara игнорировать срытые элементы


Capybara.ignore_hidden_elements = true


Переопределяем вэбдрайвер для выполнения javascript c :rack_test на нужный нам:


Capybara.javascript_driver = :webkit [или :selenium]



А теперь время безудержной радости ибо тестовое окружение можно считать полностью установленным.






3 комментария:

  1. $ \curl -L https://get.rvm.io | bash -s stable --ruby -так правильней

    ОтветитьУдалить
  2. Ну тогда уже $ \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3-p545 чтобы быть точным.

    ОтветитьУдалить
  3. А в чем более правильность варианта "$ \curl -L https://get.rvm.io | bash -s stable --ruby" ?
    И более точность " $ \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3-p545" ?

    ОтветитьУдалить