ruby-on-rails – 如何在Zeus的测试环境中运行Rails控制台?

我想做的是运行rails控制台测试,但使用 Zeus gem,像:zeus控制台测试

非常感谢!

解决方法

该解决方案是通过修改您的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_console或zeus tc

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...