Я использую Test :: Unit в старом Rails-приложении (3.2.22), и я пытаюсь проверить класс сервиса, который попадает на внешний api.Не удается правильно разобрать JSON-арматуру в тестах
Я использую webmock и пытаюсь получить файл json file fixture, но я продолжаю получать ошибки синтаксического анализа из 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}}'
Что происходит?
UPDATE:
Понял работает, используя двойные кавычки в файле формата JSON:
{
"mode":"test",
"reference":"Order",
"is_return":false,
"options":{"currency":"USD","label_date":null}
}
Может кто-нибудь объяснить, почему это необходимо?