gpt4 book ai didi

ruby-on-rails - 将录像带存储在存储库中是否正确?

转载 作者:数据小太阳 更新时间:2023-10-29 06:49:59 24 4
gpt4 key购买 nike

我为一个 REST api 开发了一个 Ruby 接口(interface)。我使用 rspec 和 vcr 进行测试。
所有测试都使用专门为其创建的帐户凭据。
我无法决定:将我的测试(录像带)的缓存响应存储在存储库,或允许用户和订阅者编写自己的磁带?

以皇帝之名!让圣战开始吧!

最佳答案

VCR 的盒式磁带是您测试的固定装置。您确实需要将它们提交到存储库中,否则您的测试将无法在其他机器上正确运行,或者只能在严重外部依赖性的情况下进行更正,这违反了测试原则。

当然,您需要在保留上述内容的同时向公众或团队隐藏您的凭据。

解决方案是 filter_senstive_data 设置和 Figaro gem。

起初,This answer from Myron in a similar question可以在很大程度上解决您的问题。

设置录像机

VCR.configure do |c|
c.filter_sensitive_data("<SOMESITE_PASSWORD>") do
ENV['SOMESITE_PASSWORD']
end
end

上面的代码块是从 Myron 的回答中复制过来的,因为我想稍后添加更多

有关此设置的更多信息,请查看文档 https://relishapp.com/vcr/vcr/v/2-5-0/docs/configuration/filter-sensitive-data

现在,对于 ENV['SOMESITE_PASSWORD'],可以使用 Figaro gem 作为真实凭证.

安装 Figaro 将创建一个文件 config/application.yml 并将其添加到 .gitignore。因此,您只需在此处输入您的凭据用户名和密码,而不必担心将其泄露给公众。

关于ruby-on-rails - 将录像带存储在存储库中是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com