Rails 3.2使用launchy调试rspec,capybara,save_and_open_page无法正常工作

时间:2013-03-11 22:55:21

标签: ruby-on-rails ruby-on-rails-3 rspec capybara

我正在尝试使用launchy来说明为什么我的规格不起作用但save_and_open_page无法打开浏览器,并且只在运行我的规范时导致以下错误消息:

  

抱歉,您需要安装launchy(gem install launchy)并确保它可以打开save_and_open_page页。

我已经运行了bundle installbundle show launchy

/Users/benjaminunger/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/launchy-2.2.0

我的Gemfile:

group :development, :test do 
  gem "rspec-rails", "~> 2.13.0"
  gem 'guard-rspec', '0.5.5'
  gem 'growl', '1.0.3'
  gem 'ruby_gntp', "0.3.4"
  gem 'faker', '1.0.1'
end

group :development do
  gem 'annotate', '~> 2.4.1.beta'
end

group :test do
  gem 'capybara', '1.1.2'
  gem 'rb-fsevent', '0.4.3.1', :require => false
  gem 'guard-spork', '0.3.2'
  gem 'spork', '0.9.2'
  gem 'factory_girl_rails', '1.4.0'
  gem "database_cleaner", "~> 0.9.1"
  gem "launchy", "~> 2.2.0"
end

部分规范文件:

  describe "clicking on 'Unapproved Users' link" do

    before(:all)  { User.delete_all } 
    before(:all) { 8.times { FactoryGirl.create(:not_approved) } }
    let(:unapproved) { FactoryGirl.create(:not_approved) }
    let(:admin) { FactoryGirl.create(:admin) }
    after(:all)  { User.delete_all }


    before do
      valid_signin(admin)
      visit root_path
      click_link "Unapproved Users"
      save_and_open_page
    end

    it { should have_selector('h1',    text: 'Unapproved Users') }
    it { should have_selector('title', text: 'Unapproved Users') }
    it { should have_link('approve', href: approve_user_path(User.first.id)) }
.
.
.

有人有什么想法吗?非常感谢提前。

2 个答案:

答案 0 :(得分:5)

我很尴尬地说我需要停下来重启spork。也许这个问题可以帮助其他同样情况的人。

答案 1 :(得分:0)

对我来说,我不习惯使用Bundler。

我已经完成了手动gem安装(在我的系统上存在和设置RVM),但是我忽略了将它添加到Gemfile中。运行Cucumber测试时,它可能会从该文件创建一个不包含Launchy的上下文。

在那里添加时,步骤有效。