【问题标题】:how to use if statement to do a conditional check inside specs?如何使用 if 语句在规范中进行条件检查?
【发布时间】:2013-09-30 21:22:53
【问题描述】:

我有这个 config/initializer.rb,它可以让我加载一个 yaml /config/application.yaml 并执行类似 APP_CONFIG["myvar"] 之类的操作,我怎样才能也为我的 SPECS 启用它?

我的目标是做类似的事情:

require "spec_helper"

describe BetaController do
  describe "routing" do

    if APP_CONFIG["viral"] and APP_CONFIG["beta"]

      it "routes to #index do" do
        get("/").should route_to("home#index")
      end

    end

  end
end

【问题讨论】:

  • 这是您使用的 gem,还是您自己编写的?
  • @farleyknight 类似这样的东西:fredwu.me/post/632640092/…
  • 那篇博文来自 2010 年,它所链接的项目不再维护。我会寻找一种方法来迁移到链接到 github 页面上的新项目。
  • 来自Github page:不再支持或维护此项目。它已被 ConfigSpartan 取代:github.com/cjbottaro/config_spartan
  • @farleyknight 只是在 google 上搜索 app_config ruby​​ on rails 并选择一篇更新的博客文章,它记录了好几次祝你好运

标签: ruby-on-rails rspec specs


【解决方案1】:

我建议使用这个 gem:

https://github.com/oshuma/app_config

Given this YAML file:

---
admin_email: 'admin@example.com'
api_name:    'Supr Webz 2.0'
api_key:     'SUPERAWESOMESERVICE'
Use it like so:

AppConfig.setup!(yaml: '/path/to/app_config.yml')

# Later on...
AppConfig.admin_email  # => 'admin@example.com'
AppConfig.api_name     # => 'Supr Webz 2.0'
AppConfig.api_key      # => 'SUPERAWESOMESERVICE'

这可以很容易地添加到您的spec_helper

【讨论】:

  • 实际上我已经实现了这个,但是规范本身的 if 语句失败了。我有一个全球性和生产、开发部分,它的阅读量比这颗宝石更先进,我重新表述问题,现在还不清楚
  • 如果您的问题与原始问题完全不同,请重新发布。
猜你喜欢
  • 2017-12-08
  • 2023-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多