Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rspec-比较两个json值_Ruby On Rails_Json_Ruby_Ruby On Rails 3_Rspec - Fatal编程技术网

Ruby on rails Rspec-比较两个json值

Ruby on rails Rspec-比较两个json值,ruby-on-rails,json,ruby,ruby-on-rails-3,rspec,Ruby On Rails,Json,Ruby,Ruby On Rails 3,Rspec,我从render json:{success:'success'}得到了一个响应,当我想测试响应是否收到了这样的内容时,遇到了一个问题。我的单元测试是: let(:success) do { success: "Success" } end it 'responds with json containing the success message' do expect(JSON.parse(response.bod

我从
render json:{success:'success'}
得到了一个响应,当我想测试响应是否收到了这样的内容时,遇到了一个问题。我的单元测试是:

    let(:success) do
      {
        success: "Success"
      }
    end

    it 'responds with json containing the success message' do
        expect(JSON.parse(response.body)).to eq(success)
    end
我的测试失败了,这是:

expected: {:success=>"Success"}
got:      {"success"=>"Success"}

我试图在
success:'success'
中添加双引号,使其变为
'success':'success'
,但仍然存在相同的问题。我有两个问题,第一个是为什么在成功之前会有冒号,第二个是如何删除它?

JSON。默认情况下,parse
会有string-y键

my_hash = JSON.parse(response.body)
p my_hash.keys.first.class # String
如果你想让它象征钥匙

my_hash = JSON.parse(response.body, symbolize_names: true)
p my_hash.keys.first.class # Symbol
注意:该选项称为
symbol\u names
,而不是
symbol\u keys

请记住,符号不是字符串:


p:success=='success'#false
JSON。默认情况下,parse
将具有string-y键

my_hash = JSON.parse(response.body)
p my_hash.keys.first.class # String
如果你想让它象征钥匙

my_hash = JSON.parse(response.body, symbolize_names: true)
p my_hash.keys.first.class # Symbol
注意:该选项称为
symbol\u names
,而不是
symbol\u keys

请记住,符号不是字符串:


p:success==“success”#false

我猜您正在尝试使用JSON格式测试API响应。您可以尝试
json\u spec
gem以及许多其他有用的功能

我猜您正在尝试使用json格式测试API响应。您可以尝试
json\u spec
gem和许多其他有用的功能

谢谢,这很有效!如果有机会,你能看看我关于RSpec的其他问题吗?我很感激!这是谢谢你,这很有效!如果有机会,你能看看我关于RSpec的其他问题吗?我很感激!最重要的是