使用Puffing Billy instructions for rspec with capybara我創建了一個簡單的測試使用:poltergeist_billy
駕駛員造成錯誤末梢的請求:帕芬比利與鬼驅錯誤:「機架測試需要一個機架應用,但沒有被賦予」
ArgumentError:
rack-test requires a rack application, but none was given
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara/rack_test/driver.rb:16:in `initialize'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara.rb:372:in `new'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara.rb:372:in `block in <top (required)>'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara/session.rb:79:in `driver'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara/session.rb:227:in `visit'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./spec/scraypa_spec.rb:52:in `block (4 levels) in <top (required)>'
有了這個代碼:
規格/ spec_helper.rb
require "bundler/setup"
require "scraypa"
require 'billy/capybara/rspec'
RSpec.configure do |config|
# Enable flags like --only-failures and --next-failure
config.example_status_persistence_file_path = ".rspec_status"
config.expect_with :rspec do |c|
c.syntax = :expect
end
config.include Capybara::DSL
end
規格/ my_spec.rb:
it "should utilise capybara to download web content" do
#Capybara.current_driver = :poltergeist_billy
Capybara.javascript_driver = :poltergeist_billy
proxy.stub('http://www.google.com/')
.and_return(:text => "test response")
visit "http://www.google.com/"
expect(page.text).to eq('test response')
end
雖然挖的時候,我發現,使用Capybara.current_driver = :poltergeist_billy
(我已經在我上面的測試註釋掉),如果我取消註釋代碼,然後我得到這個錯誤的例子:
Cliver::Dependency::NotFound:
Could not find an executable ["phantomjs"] on your path.
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/cliver-0.3.2/lib/cliver/dependency.rb:143:in `raise_not_found!'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/cliver-0.3.2/lib/cliver/dependency.rb:116:in `detect!'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/cliver-0.3.2/lib/cliver.rb:24:in `detect!'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/poltergeist-1.9.0/lib/capybara/poltergeist/client.rb:36:in `initialize'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/poltergeist-1.9.0/lib/capybara/poltergeist/client.rb:14:in `new'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/poltergeist-1.9.0/lib/capybara/poltergeist/client.rb:14:in `start'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/poltergeist-1.9.0/lib/capybara/poltergeist/driver.rb:42:in `client'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/poltergeist-1.9.0/lib/capybara/poltergeist/driver.rb:25:in `browser'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/poltergeist-1.9.0/lib/capybara/poltergeist/driver.rb:95:in `visit'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara/session.rb:227:in `visit'
# /home/resrev/.rvm/gems/ruby-2.3.1/gems/capybara-2.4.4/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./spec/scraypa_spec.rb:52:in `block (4 levels) in <top (required)>'
林不知道哪裏可以從這裏或什麼即時做錯,任何想法?謝謝。