在Rails中,使用Figaro,Zeus和RSpec,如何在运行规范时从Figaro设
TL; DR:我运行zeus rspec spec /时没有设置我的Figaro变量.
标题几乎简要地解释了这个问题,但我会详细说明. 在Rails 4应用程序中,我使用Figaro来存储特定于环境的配置,例如,Rails秘密令牌(Rails.configuration.secret_key_base).这本身很好用.我也使用Zeus来预加载我的Rails配置,它也像魅力一样. 但是,当组合并运行我的RSpec规范(通过zeus rspec spec /)时,我的Rails秘密令牌将被删除.当然,这会输出弃用警告,然后输出错误: DEPRECATION WARNING: You didn't set config.secret_key_base. [...] RuntimeError: You must set config.secret_key_base in your app's config. 当规范正在运行时,我注意到Rails环境已经改变(Rails.env ==“test”),我认为这可能是由Zeus自动完成的,因为即使我从spec_helper中删除了我的环境,也会发生这种情况. .rb文件. 值得一提的是,没有Zeus,我的规格完全没问题. 我发现如果我明确地将秘密令牌设置为spec_helper.rb中的值,那么Zeus中的东西工作正常,但我的Figaro环境变量不存在. 基本上,当Zeus运行规范时,好像我的Figaro的环境变量没有被设置.如果有人知道如何让Zeus在运行我的测试时设置这些,这将是超级棒! 非常感谢,人们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |