【发布时间】:2013-12-11 07:16:47
【问题描述】:
我正在将 ruby on rails 代码库的一部分重构为 ruby gem。作为该过程的一部分,我必须将一些测试用例转移到 gem。
对于其中一项测试:
describe A::B do
describe "#someMethod" do
let(:user_hash) { {'id' => 3, "username" => "user", "email" => "email@some.domain"} }
it "return the base64 message" do
described_class.message(user_hash).should ==
Base64.encode64(user_hash.to_json).gsub("\n", "")
end
问题是,普通哈希没有to_json 方法,所以当我运行测试时我不断得到NoMethodError。 to_json 方法似乎源自activeresource (https://github.com/rails/activeresource)。我现在如何使用 to_json 方法增加哈希?
谢谢。
【问题讨论】:
-
在顶部添加
require 'json'。 -
嗨 vinodadhikary,这行得通!将其正式发布为答案?你知道一种方法来找出这些方法实际上来自哪里吗?我正在使用 RubyMine 进行查找,它为我提供了可能实现的完整列表
-
请看我的回答。我已尝试在您的评论中回答您的问题。
标签: ruby-on-rails ruby rspec ruby-on-rails-3.2 rspec-rails