我在RSpec中编写测试,并尝试使用let
声明一些变量:
describe 'my_test' do
let(:params) {{
:happy => 1,
:sad => 0,
}}
context 'mixed' do
let(:params) {{
:happy => 1,
:sad => 1,
}}
end
end
但是后来我看到了如何用super
覆盖变量,这对于长的参数列表来说很方便:https://rspec.info/blog/2013/02/rspec-2-13-is-released/
所以我的问题是:如何覆盖原始散列中的单个值?我尝试过搜索,但只能找到覆盖所有值的方法。是否存在类似以下的方法?
let(:hash) { super().updatehash('sad', '1') }
1条答案
按热度按时间w80xi6nr1#
可以使用Hash#merge重载哈希变量
它将用您在散列中提供的键-值对覆盖原始散列中的任何键-值,以便在其上进行合并。
如果你想要一个合并文档的链接,apidock是个不错的选择:
http://apidock.com/ruby/Hash/merge