如何在单元测试中添加数组中的内容

时间:2017-10-10 03:01:28

标签: arrays ruby ruby-on-rails-4

我有以下声明

    let(:parsed_response) { JSON.parse(response.body) }

它返回输出

{"a"=>1, "b"=>"2", "c"=>"3", "d"=>"4", "e"=>"5", "f"=>[]}

我有以下声明

  let(:f_output) do
    FactoryGirl.create(:something,
                       g: something.id,
                       h: something2.id,
                       i: 'something')
  end

如何从第一个语句输出加载f元素和f_output对象的结果?

{"a"=>1, "b"=>"abc", "c"=>"def", "d"=>"ges", "e"=>"ehd", "f"=>["g"=>"kjl", "h"=>"oel", "i"=>"pde"]}

2 个答案:

答案 0 :(得分:0)

您可以合并属性:

parsed_response.merge('f' => f_output.attributes)

答案 1 :(得分:0)

您可以使用Hash#merge

因此,如果您希望它始终是 parsed_response 的一部分,您可以将let语句更改为:

let(:parsed_response) { JSON.parse(response.body).merge('f' => f_output.attribtutes) }