Ruby on rails rspec:使用rails中的to_json方法扩充散列 我正在把红宝石的一部分重构成一块红宝石宝石。作为过程的一部分,我必须将一些测试用例转移到gem上
对于其中一项测试:Ruby on rails rspec:使用rails中的to_json方法扩充散列 我正在把红宝石的一部分重构成一块红宝石宝石。作为过程的一部分,我必须将一些测试用例转移到gem上,ruby-on-rails,ruby,rspec,ruby-on-rails-3.2,rspec-rails,Ruby On Rails,Ruby,Rspec,Ruby On Rails 3.2,Rspec Rails,对于其中一项测试: 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 ==
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
()派生出来的。现在我如何使用to_json
方法来扩充散列
谢谢。当您遇到问题时,表示您没有加载所需的库。在您的测试用例中添加需要“json”
,您需要使用方法来实现json
在评论中回答您的问题:
你知道有什么方法可以找出这些方法的真正来源吗?我正在使用RubyMine来找出答案,它给了我这个可能实现的完整列表
真的,当你在寻找未知的功能时,搜索引擎会帮你解围。可能不是一个吸引人的答案,但这就是我学习的方式:)在写这个答案时,我做到了,第一个结果就是你的问题的答案。在顶部添加
要求使用“json”
。嗨,vinodadhikary,这很有效!将其作为答案正式发布?你知道有什么方法可以找出这些方法的真正来源吗?我正在使用RubyMine来找出答案,它给了我这个可能实现的完整列表,请看我的答案。我试着在你的评论中回答你的问题。哈哈,我明白了。。。看来我的谷歌搜索能力可以提高。谢谢你的帮助!如果使用vim和Ctags,可以将光标放在方法名称上,然后按以跟随标记进入源代码。