警卫为何停止?

时间:2012-11-01 02:22:26

标签: ruby-on-rails ruby ruby-on-rails-3 guard minitest

我有一个rails应用程序,我只是把守卫和minitest和我的gaurd文件

guard 'minitest', :cli => '--drb --format doc --color' do
  # with Minitest::Unit
  watch(%r|^test/(.*)\/?test_(.*)\.rb|)
  watch(%r|^lib/(.*)([^/]+)\.rb|)     { |m| "test/#{m[1]}test_#{m[2]}.rb" }
  watch(%r|^test/test_helper\.rb|)    { "test" }

  # Rails
  watch(%r|^app/controllers/(.*)\.rb|) { |m| "test/functional/#{m[1]}_test.rb" }
  watch(%r|^app/helpers/(.*)\.rb|)     { |m| "test/helpers/#{m[1]}_test.rb" }
  watch(%r|^app/models/(.*)\.rb|)      { |m| "test/unit/#{m[1]}_test.rb" }  
end

但是当我跑卫时我得到一个命令提示

bundle exec guard
22:14:12 - INFO - Guard uses TerminalTitle to send notifications.
22:14:12 - INFO - Guard is now watching at '/Users/trace/Sites/application'
1.9.3 (main):0 > 2 + 2
=> 4

为什么我收到此提示。任何想法......这里是我正在使用的一些宝石

UPDATE ...

当我运行all minitest然后测试运行...但为什么我必须运行...任何想法

1 个答案:

答案 0 :(得分:7)

您所看到的是Guard移动器,它使用了Pry。通常情况下,提示看起来有点不同,所以我假设您有一个~/.pryrc文件,其中包含一些配置。使用昨天发布的Guard 1.5.3,Guard忽略~/.pryrc并仅评估~/.guardrc的Pry配置,因此正常的Pry配置与Guard Pry交互器分开。

当您看到此提示时,表示Guard正在等待并且无所事事。您现在可以开始工作了,Guard会根据您的文件修改和观察者配置自动开始使用minitest测试您的应用,或者您可以手动触发操作。

您可以使用help guard获取可用操作的列表。根据{{​​1}}中的Guard插件和组生成一些命令。这是我的一个项目的例子:

Guardfile