【问题标题】:Which rack environment do cucumber features run in?Cucumber 功能在哪个机架环境中运行?
【发布时间】:2013-06-05 16:14:47
【问题描述】:

我可以通过将以下内容放入我的规范助手中来抑制 Rspec 中的 Rack::Timeout 记录器消息:

Rack::Timeout.unregister_state_change_observer(:logger) if ENV['RACK_ENV'] == 'test'

但如果我想让它在 features/support/env.rb 中工作,那么我需要删除 if 语句。所以我猜黄瓜不会在测试环境中运行。它的作用是什么?

【问题讨论】:

    标签: ruby-on-rails cucumber rack


    【解决方案1】:

    它使用RAILS_ENV 而不是RACK_ENV

    在我的env.rb 文件中,我只是让它输出ENV 变量。这样做是为了仔细检查,但在我的身上我清楚地看到了:

    "RAILS_ENV"=>"test"
    

    【讨论】:

    • 谢谢,这是正确答案,application.rb 中的以下代码解决了这个问题:Rack::Timeout.unregister_state_change_observer(:logger) if ENV['RAILS_ENV'] == 'test'。谢谢。
    • 如果我没记错的话,RAILS_ENV 总是设置的,所以你也可以在 RSPec 中使用它。另外,如果你有其他测试环境,比如test_ci,可以if ENV["RAILS_ENV"] =~ /^test/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2019-01-02
    • 1970-01-01
    相关资源
    最近更新 更多