Cucumberのインストール方法とテスト実行までのメモです。
インストール
Gemfile
に以下を追記して、インストールします。
gem 'rspec-rails' gem 'cucumber-rails', require: false gem 'database_cleaner'
$ bundle install
次に、Cucumberのファイルを生成します。
$ bundle exec rails generate cucumber:install
以下のようなファイルが作成されます。
create config/cucumber.yml create script/cucumber chmod script/cucumber create features/step_definitions create features/step_definitions/.gitkeep create features/support create features/support/env.rb exist lib/tasks create lib/tasks/cucumber.rake
テストを書く
テストはFeatureファイルとStepファイルの2種類のファイルに書きます。
Featureファイルの作成
Featureファイルにはテストのシナリオを自然言語(日本語や英語)で書きます。
ファイル名は features/user.feature
のようにします。
# language: ja 機能: ユーザ登録する シナリオ: 新規登録する * 新規登録のリンクをクリックする * 新規登録画面を表示する
機能
は1つのファイルに必ず1つ必要です。
Stepファイルの作成
Stepファイルはシナリオで定義されたステップをRubyで書きます。
ファイル名は features/step_definitions/user_steps.rb
のようにします。
When (/^新規登録のリンクをクリックする$/) do visit '/' click_link '新規登録' end Then (/^新規登録画面を表示する$/) do sign_up_url = Capybara.default_host + '/users/sign_up' expect(current_url).to eq(sign_up_url) end
テスト実行
bundle exec cucumber features