我正在为控制器编写规范,并希望使用binding.pry
命令调试json文件。
如何查看其内容如果我正在解析json,如下所示:
it { expect(JSON.parse(response.body)).[0]).to have_key('id')}
答案 0 :(得分:2)
要么在期望之外进行解析,要么添加另一个临时解析语句。
it do
body = JSON.parse(response.body)
binding.pry # start a REPL session
expect(body).[0]).to have_key('id')
end
另请注意,您的代码存在语法错误。我不明白.[0]
应该做什么。 .to
来电应遵循expect()
声明,而在您的情况下则不然。假设你想访问body array的第一项,你应该写
it { expect(JSON.parse(response.body).first).to have_key('id')}
或
it { expect(JSON.parse(response.body)[0]).to have_key('id')}