【发布时间】:2017-02-09 16:38:16
【问题描述】:
我在旧的 Rails 应用程序 (3.2.22) 中使用 Test::Unit,我正在尝试测试一个访问外部 api 的服务类。
我正在使用 webmock 并试图让一个 json 文件装置工作,但我不断收到来自 json 文件的解析错误。
我的测试存根如下所示:
response_data = fixture_file_upload('easypost/order_response.json')
stub_request(:post, 'https://api.easypost.com/v2/orders').
to_return(:status => 200, :body => File.read(response_data))
我的order_response.json 文件如下所示:
{
'mode':'test',
'reference':'Order',
'is_return':false,
'options':{'currency':'USD','label_date':null}
}
当我运行测试时,我得到一个解析错误:
JSON::ParserError: 757: unexpected token at '{'mode':'test','reference':'Order','is_return':false,'options':{'currency':'USD','label_date':null}}'
发生了什么事?
更新:
通过在 JSON 文件中使用双引号使其正常工作:
{
"mode":"test",
"reference":"Order",
"is_return":false,
"options":{"currency":"USD","label_date":null}
}
谁能解释为什么这是必要的?
【问题讨论】:
标签: ruby-on-rails json testunit