我有一个服务对象,其方法返回一个带有值的哈希作为结果。我尝试用rspec测试这个,但是我很难检查返回的值。这是规范:
it "calculates holiday balance for approved timesheets" do
subject = GraphBuilder.new.show_holidays(employee)
subject[:used].should eq("2.0")
end
但这会返回错误:
no implicit conversion of Symbol into Integer
该方法返回此哈希:
[["type", "days"], ["used", 2.0], ["available", 25.0]]
这样做的正确方法是什么?谢谢!
答案 0 :(得分:1)
您的方法返回一个数组,而不是哈希值。
将此数组转换为如下所示的哈希:
Hash[[["type", "days"], ["used", 2.0], ["available", 25.0]]]
# => {"type"=>"days", "used"=>2.0, "available"=>25.0}