Ruby Mocha如何存根嵌套哈希?

时间:2015-07-15 20:55:35

标签: ruby-on-rails ruby unit-testing hash mocha

我有一个方法需要使用Mocha进行模拟,但目前我不知道如何在这里模拟嵌套哈希。

Products.new(:A => "aa", :B => "bb").containers['container_A'].elements['element_b']

到目前为止,我知道如何存根Products.new(:A => "aa", :B => "bb"),但不知道后面的哈希部分。

提前致谢。

1 个答案:

答案 0 :(得分:0)

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