为什么libnotify停止显示Rspec通知?

时间:2012-01-10 14:56:20

标签: ruby-on-rails ubuntu guard libnotify

我不知道为什么libnotify stoped显示有关已完成测试的信息。 它显示Spork消息:“Rspec成功启动。”但之后没有显示任何东西。我正在使用Ubuntu。

guard 'spork', :cucumber => false, :rspec_env => { 'RAILS_ENV' => 'test' } do
  watch('config/application.rb')
  watch('config/environment.rb')
  watch(%r{^config/environments/.+\.rb$})
  watch(%r{^config/initializers/.+\.rb$})
  watch('spec/spec_helper.rb')
  watch(%r{^spec/support/.+\.rb$})
end

guard 'rspec', :version => 2, :cli => "--drb", :all_on_start => false, :all_after_pass => false do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
  watch('spec/spec_helper.rb') { "spec" }
  watch('spec/acceptance/acceptance_helper.rb') { "spec" }
  watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
  watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
  watch('config/routes.rb') { "spec/routing" }
  watch('app/controllers/application_controller.rb') { "spec/controllers" }
  # Capybara request specs
  watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }

  # watch(%r{^spec/support/(requests|controllers|mailers|models)_helpers\.rb}) { |m| "spec/#{m[1]}" }
  # watch(%r{^app/controllers/(.+)_(controller)\.rb}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/requests/#{m[1]}_spec.rb"] }
  watch(%r{^app/(.+)\.rb}) { |m| "spec/#{m[1]}_spec.rb" }
end

我的spec_helper:***

当我初始化后卫:

Running tests with args ["--color", "--format", "progress", "--format", "Guard::RSpec::Formatter::NotificationRSpec", "--out", "/dev/null", "--require", "/home/rege/.rvm/gems/ruby-1.9.2-p290/gems/guard-rspec-0.5.10/lib/guard/rspec/formatters/notification_rspec.rb", "spec"]...

如何诊断问题在哪里?

编辑:

解决方案:https://github.com/guard/guard-rspec/issues/90#issuecomment-3435651

1 个答案:

答案 0 :(得分:3)

我也遇到了这个问题并安装了guard-spork(https://github.com/guard/guard-spork)gem(将它添加到我的rails Gemfile并安装了bundle)。然后,根据该页面上的说明,我运行了'guard init spork',它会在你的Guardfile中添加一个'spork'部分,用于你可以观看的文件。

当我运行捆绑执行保护时,它实际上确保spork也启动并且presto!我的测试文件更改正在运行,结果发布到通知程序。为了记录,我使用Ubuntu 11.10 64bit和ruby rvm。我的Gemfile中的相关宝石是gem'guard-rspec',gem'guard-spork',gem'rspec-rails',gem'watchr',gem'spork',gem'libnotify'。不确定是否所有都是相关的。

您可以在Hartl的精彩Rails教程http://ruby.railstutorial.org/chapters/static-pages#sec:guard(第3.6.2和3.6.3节)中找到我用于此的一步一步。