Подтвердить что ты не робот

Как запустить консоль Rails в тестовой среде с помощью Zeus?

Что я хочу сделать, это запустить rails console test, но с Zeus gem, например: zeus console test

Большое спасибо!

4b9b3361

Ответ 1

Решение достигается путем изменения файла 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

Обратите внимание, что требуется значение по умолчанию_bundle_with_test_env, равно как и метод test_console, который был определен выше в файле zeus.json.

Наконец, запустите: zeus test_console или zeus tc