1

私の Rails アプリケーションにはguard-zeusrspec-railsgems がインストールされています。

MyGuardfileには、によって生成されたデフォルトのウォッチ コードがあります。guard init zeus

私は走りguardます。ファイルを保存すると、そのファイルの仕様が正しく実行されます。

ただし、コンソールで Return キーを押すとguard、テスト スイート全体が実行されることを期待しています。そうしようとしますが、スローしますCouldn't find test file 'rspec'

zeus単独で (ガードなしで)開始するzeus startと、zeus rake成功することができます。

「rspec」ファイルguardが何を探しているのかわかりません。これは私のガードファイルです:

guard 'zeus' do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^lib/(.+)\.rb$})                           { |m| "spec/lib/#{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/requests/#{m[1]}_spec.rb"] }
end

cmd: bundle exec rakeガードブロックにを指定してみました。

追加情報:

custom_plan.rb次のようになります。

require 'zeus/rails'

class CustomPlan < Zeus::Rails

  # def my_custom_command
  #  # see https://github.com/burke/zeus/blob/master/docs/ruby/modifying.md
  # end

end

Zeus.plan = CustomPlan.new

次のようになりzeus.jsonます。

{
  "command": "ruby -rubygems -r./custom_plan -eZeus.go",

  "plan": {
    "boot": {
      "default_bundle": {
        "development_environment": {
          "prerake": {"rake": []},
          "console": ["c"],
          "server": ["s"],
          "generate": ["g"],
          "destroy": ["d"],
          "dbconsole": []
        },
        "test_environment": {
          "test_helper": {"test": ["rspec"]}
        }
      }
    }
  }
}
4

1 に答える 1

1

これを試してみませんか?

guard 'zeus', :rspec => true, :bundler => true  do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^lib/(.+)\.rb$})                           { |m| "spec/lib/#{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/requests/#{m[1]}_spec.rb"] }
end

zeus.jsonとの内容も貼り付けてくださいcustom_plan.rb

これらのファイルのいずれかが見つからない場合は、実行してくださいzeus init。これにより、 と が作成さzeus.jsonれますcustom_plan.rb

次に、zeus.json を編集して、Zeus を使用するタスクのみを含めます。私は次のようになります。

{
  "command": "ruby -rubygems -r./custom_plan -eZeus.go",

  "plan": {
    "boot": {
      "default_bundle": {
        "development_environment": {
          "prerake": {"rake": []},
          "runner": ["r"],
          "console": ["c"],
          "server": ["s"],
          "generate": ["g"],
          "destroy": ["d"],
          "dbconsole": []
        },
        "test_environment": {
          "test_helper": {"test": ["rspec"]}
        }
      }
    }
  }
}
于 2014-08-15T07:44:46.207 に答える