Я строю простой API, и одна из особенностей заключается в том, что он должен информировать пользователей о своей версии. Тогда у меня есть контроллер Api с помощью метода версииНеудачное тестирование хеша с rspec-rails
class ApiController < ApplicationController
def version
render :json => {version: '0.0.1'}
end
end
и у меня также есть маршрут в моей конфигурации/routes.rb
Rails.application.routes.draw do
root 'site#index'
get 'api/version'
end
Я использую RSpec и это мой недостаток тест
it 'returns the correct version number (0.0.1 by now)' do
get :version
expect(response.body).to eq({'version':'0.0.1'})
end
случается, что мой тест не пройден (http://imgur.com/7MPL8RO)
1) ApiController GET #version returns the correct version number (0.0.1 by now)
Failure/Error: expect(response.body).to eq(a)
expected: {:version=>"0.0.1"}
got: "{\"version\":\"0.0.1\"}"
Что здесь? Должен ли я тестировать response.body.to_s или что-то в этом роде?
Кажется, я пропустил какой-то момент, возможно, легкий.
Большое спасибо, мой друг. Я выбрал первую возможность, и она отлично поработала. Я приму ваш ответ как можно скорее, потому что SO накладывает задержку на десять минут или около того, прежде чем принимать. –
Я рад, что смогу помочь. – Rashmirathi