如何在RSpec中存根Rails机密?

时间:2019-03-14 13:44:54

标签: ruby-on-rails rspec rspec-rails

现在,Rails附带了凭证/秘密文件,我似乎无法使用RSpec存根/覆盖秘密。

# credentials.yml.enc
my_token: 111

我们过去经常使用环境变量

allow(ENV).to receive(:[]).with('my_token').and_return('')

所以我期望能够应用相同的逻辑

allow(Rails.application.credentials).to receive(:my_token).and_return('')

但是它不会覆盖Rails的秘密。任何想法?谢谢

1 个答案:

答案 0 :(得分:1)

应该如此处https://github.com/rspec/rspec-rails/issues/2099#issuecomment-472965256

中所述直截了当
> m1 <- rbind(df1[1,], df2[1,])
> m2 <- rbind(df1[2,], df2[2,])
> m3 <- rbind(df1[3,], df2[3,])
> m4 <- rbind(df1[4,], df2[4,])

> m1
     n1 mt1
1  Mike  48
2 Peter  32

> m2
      n1 mt1
2   John  64
21 Chris  23

> m3
        n1 mt1
3    Steve  32
31 Brendan  44

> m4
       n1 mt1
4     Dan  87
41 Joseph  52