経緯
「あの関数」が「あれ」を正しく返すか
みたいなテストもすごく大事なのですが、実際、ユーザが触るのは表の画面に表示されているものでしかなく、
「あのフォーム」に「あれ」をインプットして、「あのボタン」を押せば「あのページ」が表示される
みたいなことが一番ユーザの目につくところです。しかも、そういうところで間違った処理を書いてしまうと、かなり心象がよろしくないものです。
そういう表面的な部分を楽にチェックできるTurnipの導入方法について。
前提
bundle
コマンドが使えること1
導入
作業ディレクトリの作成
ひとまず、作業ディレクトリを作りましょう。
mkdir turnip_test cd turnip_test mkdir -p spec/{features,steps}
必要なgemをインストール
次に必要なgemを管理するために、Gemfile
を作成します。
bundle init
すると、ディレクトリ内にGemfile
が作られていると思います。Gemfile
に必要なものを記述していきましょう。
Gemfile
source "https://rubygems.org" gem 'turnip' gem 'capybara' gem 'poltergeist'
bundle install --path=vendor/bundle
Macでやっているとき、エラーを吐くかもしれませんが、その話は脱線するので、最後に書いておきます。
.rspecファイルの作成
turnipでRSpecを使っていきます。.rspec
ファイルはその設定ファイルです。
turnip_test/.rspec
を作成しましょう。
-r turnip/rspec --color --format doc
公式では一番上だけが書かれていますが、このままだと、成功だったら.
、失敗だったらF
で、
...F....F.
みたいな地味な表示になってしまうので、テンションがあがりません。色づけして見やすくするために--color
と--format doc
のオプションはつけておきましょう!
rspec_helper.rbの作成
rspec_helperはテストに必要になる関数を定義するファイルです。基本的にはシンプルに以下のような形でいいと思います。
Dir.glob('spec/steps/*.rb') { |f| load f, true } require 'capybara/rspec' require 'capybara/poltergeist' Capybara.default_driver = :poltergeist Capybara.javascript_driver = :poltergeist
featureを作成
実際にテストのシナリオを書いていくファイルを仮で作りましょう。
touch spec/features/hogehoge.feature
ここまで来たら、一旦実際に動かしてみます。
bundle exec rspec spec/features/hogehoge.feature
これで、
No examples found. Finished in 0.00023 seconds (files took 0.47304 seconds to load) 0 examples, 0 failures
みたいに表示されたらインストール完了です!
ちょっと長くなってしまったので、実際作っていくのは別の記事にしようと思います。
Macで導入中にエラーが起きた時
An error occurred while installing nokogiri (1.6.5), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.6.5'` succeeds before bundling.
みたいなエラーを吐くことがあります。エラーメッセージをよくよく見ると、
The file "/usr/include/iconv.h" is missing in your build environment, which means you haven't installed Xcode Command Line Tools properly. To install Command Line Tools, try running `xcode-select --install` on terminal and follow the instructions. If it fails, open Xcode.app, select from the menu "Xcode" - "Open Developer Tool" - "More Developer Tools" to open the developer site, download the installer for your OS version and run it.
と書いてあります。要は、「Xcode Command Line Toolsがインストールされてないから必要なファイルが見つからないよ!」と言われています。
メッセージに書いてあるとおり、
xcode-select --install
を実行してやれば、ソフトウェアのインストールが始まります。
-
gem install bundler
でインストールできます。gem
自体が入っていない場合は、他記事を参照して、インストールしてください。ここでは長くなるので省略します。 ↩
コメントを残す