almost 4 years ago

系統:

Mac OS X Yosemite 10.10.2
Ruby 2.2.0
Rails 4.2.0

相關連結

Cucumber 官網 ( https://cukes.info )
Cucumber GitHub ( https://github.com/cucumber/cucumber )
Cucumber-Rails ( https://github.com/cucumber/cucumber-rails )

前言

我相信軟體專案最困難的部份、最常見的專案失敗原因,就是與客戶、使用者之間的溝通,透過提供一個清楚又精準的領域專屬語言 (DSL),將可以改善這個問題。
By Martin Fowler

而 Cucumber 設計的目的,就是主要用來解決上述的問題!!

設定步驟如下

1. Gemfile 設定

添加必要的 gem 套件至 Gemfile 檔中

# Use Cucumber test framwork
group :test do
  gem 'cucumber-rails', :require => false
  gem 'database_cleaner'
  gem 'rspec-rails', '~> 3.0'
  gem 'capybara-webkit'
  gem 'factory_girl_rails'
  gem 'webrat'
  gem 'email_spec'
end

之後,執行以下指令安裝以上的 gems

$ bundle install

2. 執行 Cucumber 相關安裝

$ rails g cucumber:install
$ rails g email_spec:steps

3. 安裝 Qt for Capybara-webkit

# Linux
$ sudo apt-get install libqtwebkit-dev

# Mac OS X
$ brew update
$ brew install qt

4. Cucumber 設定檔

修改 Cucumber 設定檔 features/support/env.rb,和新增 features/helpers 資料夾。

# add /features into require path
$:.push File.expand_path('../../../features', __FILE__)
...
require 'cucumber/rails'
require 'email_spec/cucumber'
...
# require all helpers files
Dir[Rails.root.join('features/helpers/**/*.rb')].each { |f| require f }
...
# for Capybara-webkit
Capybara.javascript_driver = :webkit

# Add white lists for Capybara-webkit
Before('@javascript') do
  page.driver.allow_url 'www.google.com'
end

5. 執行 Cucumber

# with rake
$ rake cucumber

# without rake
$ cucumber
← AWS EC2 - part 1 - 使用 chef 配置基本系統環境 讓 Mac 終端機更強大、更美化 →
 
comments powered by Disqus