当我尝试在我的警卫设置或独立的警卫茉莉命令中运行警卫茉莉花时,我收到此错误
Guard::Jasmine starts thin test server on port 8888 in test environment.
Waiting for Jasmine test runner at http://example.com:8888/
Run Jasmine suite spec/javascripts/credit_card_spec.js
Run Jasmine suite at http://example.com:8888/?spec=CreditCard
Can't open '/home/yuvilio/.rvm/gems/ruby-1.9.3-p194@agilerails/bundler/gems/guard-jasmine-0fd614d12263/lib/guard/jasmine/phantomjs/guard-jasmine.coffee'
ERROR: No response from the Jasmine runner!
奇怪的是,“guard-jasmine.coffee”文件确实存在并且看起来很好。
我的 Gemfile 包括:
group :test, :development do
#...
gem 'guard-jasmine', :git => "https://github.com/netzpirat/guard-jasmine.git", :branch => 'master'
gem 'jasminerice', :git => "https://github.com/bradphelan/jasminerice.git", :branch => 'master'
gem 'jasmine'
end
我的 Guardfile 包括:
guard 'jasmine', :all_on_start => false, :server => :thin, :port => 8888, :jasmine_url => 'http://localhost:8888/', :server_env => :test do
watch(%r{spec/javascripts/spec\.(js\.coffee|js|coffee)$}) { "spec/javascripts" }
watch(%r{spec/javascripts/.+_spec\.(js\.coffee|js|coffee)$})
watch(%r{app/assets/javascripts/(.+?)\.(js\.coffee|js|coffee)$}) { |m| "spec/javascripts/#{m[1]}_spec.#{m[2]}" }
end
当我运行rake jasmine
并浏览到该http://example.com:8888/?spec=CreditCard测试时,它显示正常(测试当前按预期失败)。知道是什么导致了警卫
后记:
原来这是一个 phantomjs 问题。@netzpirat在下面他的回答中的评论中正确地诊断了它。我使用的是 Ubuntu,其最新的 phantomjs 版本是 1.4。那里发生了“无法打开”错误(可能与此错误有关?)。为了解决这个问题,我找到了一个具有 1.5 的 PPA并从那里安装它(它也可直接用于更多架构这里)。那解决了它。