首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rspec on lib + initializer

Rspec on lib + initializer
EN

Stack Overflow用户
提问于 2017-11-24 21:09:55
回答 0查看 166关注 0票数 0

我正在尝试测试我创建的库。它会自动加载一个初始化器。

这是我所拥有的

代码语言:javascript
复制
# config/initializer/my_lib.rb
MyLib.configure do |config|
  config.salt   = Rails.application.secrets.encrypted_salt
  config.secret = Rails.application.secrets.encrypted_secret
end

# lib/my_lib.rb
class MyLib

  class << self
    attr_accessor :configuration

    def config
      @configuration ||= Configuration.new
    end

    def configure
      yield(config)
      raise 'Salt not specified' unless config.salt
      raise 'Secret not specified' unless config.secret
    end
  end

  class Configuration
    attr_accessor :salt, :secret
  end
end

我想要测试的是,如果没有saltsecretMyLib.configure将引发一个RuntimeError

我试过下面的测试,但我想我还是坚持不下去了

代码语言:javascript
复制
allow(described_class).to receive(:configure) do |&config|
  config.salt = nil
  config.secret = nil
end

在前面的示例中,|config||&config|都为config提供了nil值。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47474036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档