我有一个控制器操作,我将哈希分配给实例变量。在我的 rspec 测试文件中,我使用 assigns 来测试它,实例变量被分配给我期望的值。出于某种原因,assigns 给了我一个带有字符串键的散列。如果我在控制器中打印实例变量,我有符号键
请在下面找到代码。它被简化了。
class TestController < ApplicationController
def test
@test_object = {:id => 1, :value => 2, :name => "name"}
end
end
我的测试文件:
describe TestController do
it "should assign test_object" do
get :test
assigns(:test_object).should == {:id => 1, :value => 2, :name => "name"}
end
end
上述测试失败并显示错误消息
expected: {:id=>1, :value=>2, :name=>"name"}
got: {"id"=>1, "value"=>2, "name"=>"name"}
请帮助我理解它为什么这样做。