LoginSignup
8
9

More than 5 years have passed since last update.

capybara + Poltergeistでjavascriptをテストするには

Last updated at Posted at 2015-02-02

前回、capybara-webkitをbundle installしてコケた時の対処法という記事を書いたのですが、Capybaraを使う際に知っておきたいことを読むと、QTというのはなかなか曲者のようです。そこで、同じheadless driverであるPoltergeistを採用することにします。

環境

  • mac OSX10.9.5
  • rails3.2
  • ruby2.1.4
  • Homebrew

手順

Gemfileにgem poltergeistと記述してbundle installします。
データベースのトランザクションの扱いも変わるので、gem database_cleanerも入れておきます。
続いてphantomjsをbrew install phantomjsでインストールしましょう。

今度はセットアップです。

spec/rails_helper.rb
require 'spec_helper'
# ...略
require 'capybara/poltergeist'

RSpec.configure do |config|

  config.include FactoryGirl::Syntax::Methods
  Capybara.javascript_driver = :poltergeist

  config.use_transactional_fixtures = false

   # database_cleaner関連のセットアップ
   require 'database_cleaner'
   config.before(:suite) do
     DatabaseCleaner.strategy = :truncation
     DatabaseCleaner.clean_with(:truncation)
   end

   config.before(:each) do
     DatabaseCleaner.start
   end

   config.after(:each) do
     DatabaseCleaner.clean
   end
end

後はscenarioにjs :trueオプションを付けるとpoltergeistが動作して
javascriptのテストを行うことが出来ます。

参考
http://qiita.com/jnchito/items/bdd80c1085fa082e7d7a#1-3
http://qiita.com/katryo/items/e33197a4fa26de42a3c4

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9