Edited at

rspec + capybara で 非RailsのWebアプリをテスト

More than 5 years have passed since last update.

非railsアプリでもrspecで最低限のテストを書いておきたい、

ということでcapybaraを使って書きました


  • テスト用のディレクトリ以下に配置


    • Gemfile

    • features/




Gemfile

source "https://rubygems.org"

gem "rspec"
gem "capybara-mechanize" , "1.0.1"




  • bundle install 実行


features/spec_helper.rb

# 設定

# encoding: utf-8

require 'capybara/mechanize'
require 'capybara/rspec'

# ref: http://stackoverflow.com/questions/18616683/why-do-i-get-including-capybaradsl-in-the-global-scope-is-not-recommended
RSpec.configure do |config|
config.include Capybara::DSL, :type => :feature
end

Capybara.app = "myapp"
Capybara.default_driver = :mechanize
Capybara.app_host = 'http://myapp.com'
Capybara.run_server = false



  • Capybara.app を適当にでも設定しておかないと動きませんでした


features/test_spec.rb

#テストファイル本体

require File.dirname(__FILE__)+'/spec_helper'

describe 'テスト', :js => true do
it 'トップページ' do
visit "/"
page.should have_content("TOP PAGE")
end
end



  • 実行: bundle exec rspec features