【问题标题】:zeus + guard + rspec "Couldn't find test file 'rspec'zeus + guard + rspec "找不到测试文件 'rspec'
【发布时间】:2014-09-17 19:56:31
【问题描述】:

我的 Rails 应用程序已安装 guard-zeusrspec-rails gems。

我的Guardfileguard init zeus生成的默认手表码

我运行guard。当我保存文件时,该文件中的规范运行正确。

但是,当我在guard 控制台中按回车键时,我希望它能够运行整个测试套件。它试图这样做,但抛出 Couldn't find test file 'rspec'

如果我自己启动zeus(没有保护),我可以成功zeus start然后zeus rake

我不知道guard 正在寻找什么“rspec”文件。这是我的 Guardfile:

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"]}
        }
      }
    }
  }
}

【问题讨论】:

  • 我只是添加了一个名为 rspec 的空文件。它摆脱了错误,但不确定它是否有帮助。我的时间没有减少

标签: ruby-on-rails rspec rspec-rails guard zeus


【解决方案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.jsoncustom_plan.rb的内容。

如果您缺少其中任何一个文件,请运行zeus init。这将创建zeus.jsoncustom_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"]}
        }
      }
    }
  }
}

【讨论】:

  • 试过了。还是一样Couldn't find test file 'rspec'!
  • 如果你有,请同时粘贴 zeus.json 和 custom_plan.rb 的内容。
  • 这两个我都没有。
  • 啊,你应该有这些文件。请运行 zeus init 并尝试上面添加的说明。
  • 生成并添加到上面的问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-18
  • 1970-01-01
  • 2017-08-20
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多