我很难用Poltergeist作为在Konacha进行的Capybara测试的司机。
在config/initializers/konacha.rb中有以下内容:
Konacha.configure do |config|
require 'capybara/poltergeist'
config.spec_dir = "spec/javascripts"
config.spec_matcher = /_spec\.|_test\./
config.driver = :poltergeist
config.stylesheets = %w(manifest_public)
end if defined?(Konacha)我的测试在Poltergeist中使用bundle exec rake konacha:run成功运行
但是,当我使用以下Guardfile时:
guard :konacha, driver: :poltergeist do
watch(%r{^app/assets/javascripts/(.*)\.js(\.coffee)?$}) { |m| "#{m[1]}_spec.js" }
watch(%r{^spec/javascripts/.+_spec(\.js|\.js\.coffee)$})
end警卫在开始科纳查时抱怨道:
14:18:05 -信息-先发科纳查 14:18:05 -错误-Capybara::DriverNotFoundError:没有调用驱动程序:找到poltergeist,可用的驱动程序::rack_test,:selenium>
发布于 2013-11-05 19:36:44
我找到了一个可行的解决方案,但似乎有点麻烦,所以如果有人想提出更好的建议,我会全神贯注地倾听。我意识到在卫队加载Konacha之前没有加载Konacha初始化程序,所以我不得不在Guardfile中复制Capybara::Poltergeist驱动程序的注册:
require 'capybara/poltergeist'
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {:js_errors => true})
end
guard :konacha, driver: :poltergeist do
watch(%r{^app/assets/javascripts/(.*)\.js(\.coffee)?$}) { |m| "#{m[1]}_spec.js" }
watch(%r{^spec/javascripts/.+_spec(\.js|\.js\.coffee)$})
endhttps://stackoverflow.com/questions/19797362
复制相似问题