如何在Zeus的测试环境中运行Rails控制台?

时间:2013-04-25 16:40:58

标签: ruby-on-rails ruby gem zeus

我想要做的是运行rails console test但使用Zeus gem,例如:zeus console test

提前多多感谢!

1 个答案:

答案 0 :(得分:20)

通过修改zeus.json文件以包含将在我称为test_console的测试环境中运行的新控制台命令来实现解决方案。

这是我的整个 zeus.json 文件,唯一相关的位是以"test_console"开头的部分:

{
  "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": {
          "cucumber_environment": {"cucumber": []},
          "test_helper": {"test": ["rspec", "testrb"]},
          "test_console": ["tc"]
        }
      }
    }
  }
}

要启用test_console,您需要在 custom_plan.rb 文件中创建自定义计划,如下所示:

require 'zeus/rails'

class CustomPlan < Zeus::Rails
  def default_bundle_with_test_env
    ::Rails.env = 'test'
    ENV['RAILS_ENV'] = 'test'
    default_bundle
  end

  def test_console
    console
  end
end

Zeus.plan = CustomPlan.new

请注意,需要default_bundle_with_test_env,以及zeus.json文件中定义的test_console方法。

最后,请运行:zeus test_consolezeus tc