7

我有一个 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

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

更新...

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

4

1 回答 1

7

您看到的是使用Pry的 Guard 交互器。通常提示看起来有点不同,所以我假设你有一个~/.pryrc带有一些配置的文件。在昨天发布的 Guard 1.5.3 中,Guard 忽略~/.pryrc并仅评估~/.guardrcPry 配置,因此正常的 Pry 配置与 Guard Pry 交互器分离。

当你看到这个提示时,说明Guard正在等待,无事可做。您现在可以开始工作,Guard 会根据您的文件修改和观察程序配置自动开始使用 minitest 测试您的应用程序,或者您可以手动触发操作。

您可以使用 获取可用操作的列表help guard。一些命令是根据 Guard 插件和Guardfile. 这是我的一个项目的示例:

$ bundle exec guard 
09:58:14 - INFO - Guard uses GNTP to send notifications.
09:58:14 - INFO - Guard is now watching at '/Users/michi/Repositories/extranett'
09:58:15 - INFO - Guard::Jasmine starts Unicorn test server on port 8888 in development environment.
09:58:17 - INFO - Waiting for Jasmine test runner at http://dnndev.me:8888/jasmine
09:58:23 - INFO - Run all Jasmine suites
09:58:23 - INFO - Run Jasmine suite at http://dnndev.me:8888/jasmine
09:58:41 - INFO - Finished in 8.853 seconds
09:58:41 - INFO - 896 specs, 0 failures
09:58:41 - INFO - Done.
09:58:41 - INFO - Guard::RSpec is running
09:58:41 - INFO - LiveReload 1.6 is waiting for a browser to connect.
[1] guard(main)> help guard
Guard
  all                Run all plugins.
  backend            Run all backend
  change             Trigger a file change.
  coffeescript       Run all coffeescript
  frontend           Run all frontend
  jasmine            Run all jasmine
  livereload         Run all livereload
  notification       Toggles the notifications.
  pause              Toggles the file listener.
  reload             Reload all plugins.
  rspec              Run all rspec
  show               Show all Guard plugins.
[2] guard(main)> exit
09:59:39 - INFO - Guard::Jasmine stops server.
09:59:39 - INFO - Bye bye...
于 2012-11-01T09:00:57.807 回答