我从Rails的4.1.9至4.2.2.In轨4.1.9 RSpec的是green.After升级,当我跑我的升级Rails应用程序测试中,我得到了几个rspec失败。变化轨之后,从串行响应升级到4.2.2从4.1.9
Rails version = 4.2.2
Ruby version = 2.2.4
rspec = 3.0.0
Following are the gems I used for testing,
gem 'rspec-rails'
gem 'rspec_junit_formatter', require: false, git: '[email protected]:sj26/rspec_junit_formatter.git'
gem 'awesome_print'
gem 'factory_girl'
gem 'jasmine'
gem 'jasmine-jquery-rails'
gem 'quiet_assets'
gem 'sequel'
gem 'brakeman', require: false
gem 'qunit-rails'
gem 'webmock', '~> 2.3.1'
gem 'capybara'
gem 'simplecov', require: false
gem 'simplecov-rcov', require: false
gem 'cucumber-rails', require: false
gem 'rack_session_access'
gem 'poltergeist'
gem "faker"
gem 'shoulda-matchers'
gem "shoulda-callback-matchers"
轨升级到4.2.2我得到一个失败等之后,
Failure/Error: response_json = JSON.parse(response.body)['credit_value_rating_types']
TypeError:
no implicit conversion of String into Integer
使用Rails版本4.1.9,从4.2.2,我丢失的钥匙“[ 'credit_value_rating_types' ]“在响应body.I实际上是序列化使用Activemodel串行器响应。
我无法找到failure.Any洞察背后的原因将是有益的。
JSON.parse(response.body)是给散列数组的更多细节。 [{“ID” => 1,“名” =>“样品类型”}] –
@CharlesSkariah所以它解释完全如我所说 –
@CharlesSkariah也许你想要做'错误JSON.parse(response.body) [0] ['credit_value_rating_types']'如果只有一个项目 –