测试应用程序时,“在测试环境中激活Web控制台”

我是Rails的新手。 因此,如果这是一个愚蠢的问题,请提前道歉。 我已经阅读了Michael Heartl的书,并尝试自己编写应用程序。

我已经编写了一些基本的测试,但是在尝试使用时测试应用程序

$ bundle exec rake test

我在终端上收到以下消息

Web Console is activated in the test environment, which is usually a mistake. To ensure it's only activated in development mode, move it to the development group of your Gemfile: gem 'web-console', group: :development If you still want to run it the test environment (and know what you are doing), put this in your Rails application configuration: config.web_console.development_only = false 

当我将上面的内容添加到development.rb时,它仍然没有什么区别。

请帮我理解我做错了什么。

你需要做的是确保你的Gemfile中的行gem 'web-console'只在组开发中加载。

你可以发布你的Gemfile吗? 通过这种方式,我们可以看出是否是造成它的原因。

在你的Gemfile中它应该是:

 gem 'web-console', group: :development 

要么

 group :development do gem 'web-console' end 

在Gem文件中,如果你有这一行

 gem 'web-console', '~> 2.0' 

去掉它。

然后跑

 $ gem install bundler $ bundle install --without production 

我也在和Michael Heartl的书一起学习ROR,并遇到了同样的问题! 帮助我的是为应用程序的Gemfile添加一个’guard’gem。 所以Gemfile的部分看起来像这样:

 group :development do gem 'sqlite3' gem 'byebug' gem 'spring' gem 'web-console', '~> 2.0' end group :test do gem 'minitest-reporters' gem 'mini_backtrace' gem 'guard' gem 'guard-minitest' end 

更改代码后也运行以下命令:

 bundle install --without production 

在这些操作之后,测试由命令执行:

 bundle exec rake test 

我也经历了Michael Hartl的课程。 我知道Gemfile声明你应该按照它的方式拥有它,但它会显示出来。 如果您不想更改Gemfile并将其保留在书中,可以转到config> environments> test.rb并在下面的行中添加。

 config.web_console.development_only = false 

保存这个,你很高兴。