【问题标题】:How does Ruby Mocha stub a nested hash?Ruby Mocha 如何存根嵌套哈希?
【发布时间】:2015-10-05 02:43:28
【问题描述】:
我在这里有一个需要使用 Mocha 模拟的方法,但目前我不知道如何在此处模拟嵌套哈希。
Products.new(:A => "aa", :B => "bb").containers['container_A'].elements['element_b']
到目前为止,我知道如何存根Products.new(:A => "aa", :B => "bb"),但不知道它后面的哈希部分。
提前致谢。
【问题讨论】:
标签:
ruby-on-rails
ruby
unit-testing
hash
ruby-mocha
【解决方案1】:
hash/OpenStruct 呢?
require 'ostruct'
product.expects(:containers).
returns('container_A' => OpenStruct.new(:elements => {'element_b' => 'expected_value'}))
puts product.containers['container_A'].elements['element_b']
# => expected_value