rails5でjbuilderを使ってjsonを返すAPIをつくっています。
いま、値が期待するものになっているかどうかテストするために、テストコードを書いているのですが、コードの中で返却値を参照してみると空{}になってしまいます。
コードは以下の通りです。
まずはFixtureです。↓
yaml
1# test/fixtures/users.yml 2tanaka: 3 name: たなか 4 uid: 1 5 email: misako@example.com
次にコントローラです。↓
ruby
1# app/controllers/user_controller.rb 2class UsersController < ApplicationController 3 def index 4 @users = User.all 5 render 'index', formats: 'json', handlers: 'jbuilder' 6 end 7end
最後にテストコードです↓
ruby
1require 'test_helper' 2 3class UsersControllerTest < ActionDispatch::IntegrationTest 4 test 'user index success' do 5 get '/users', params: {} 6 assert_response 200 7 body = response.body 8 9 puts assigns(:users)[0].name # => 期待通り, 「たなか」と表示されます。 10 puts body # => 問題はここです。 期待に反して {} と表示されます。 11 end 12end 13
原因、わかりましたら宜しくお願いします。
あなたの回答
tips
プレビュー