teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コードの説明

2017/07/12 13:13

投稿

komachi
komachi

スコア94

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,8 @@
3
3
  いま、値が期待するものになっているかどうかテストするために、テストコードを書いているのですが、コードの中で返却値を参照してみると空{}になってしまいます。
4
4
 
5
5
  コードは以下の通りです。
6
+
7
+ まずはFixtureです。↓
6
8
  ```yaml
7
9
  # test/fixtures/users.yml
8
10
  tanaka:
@@ -11,6 +13,7 @@
11
13
  email: misako@example.com
12
14
  ```
13
15
 
16
+ 次にコントローラです。↓
14
17
  ```ruby
15
18
  # app/controllers/user_controller.rb
16
19
  class UsersController < ApplicationController
@@ -21,6 +24,7 @@
21
24
  end
22
25
  ```
23
26
 
27
+ 最後にテストコードです↓
24
28
  ```ruby
25
29
  require 'test_helper'
26
30
 

1

コードを追加

2017/07/12 13:13

投稿

komachi
komachi

スコア94

title CHANGED
File without changes
body CHANGED
@@ -2,5 +2,41 @@
2
2
 
3
3
  いま、値が期待するものになっているかどうかテストするために、テストコードを書いているのですが、コードの中で返却値を参照してみると空{}になってしまいます。
4
4
 
5
+ コードは以下の通りです。
6
+ ```yaml
7
+ # test/fixtures/users.yml
8
+ tanaka:
9
+ name: たなか
10
+ uid: 1
11
+ email: misako@example.com
12
+ ```
13
+
14
+ ```ruby
15
+ # app/controllers/user_controller.rb
16
+ class UsersController < ApplicationController
17
+ def index
18
+ @users = User.all
19
+ render 'index', formats: 'json', handlers: 'jbuilder'
20
+ end
21
+ end
22
+ ```
23
+
24
+ ```ruby
25
+ require 'test_helper'
26
+
27
+ class UsersControllerTest < ActionDispatch::IntegrationTest
28
+ test 'user index success' do
29
+ get '/users', params: {}
30
+ assert_response 200
31
+ body = response.body
32
+
33
+ puts assigns(:users)[0].name # => 期待通り, 「たなか」と表示されます。
34
+ puts body # => 問題はここです。 期待に反して {} と表示されます。
35
+ end
36
+ end
37
+
38
+ ```
39
+
40
+
41
+
5
- 原因、わかりましたら宜しくお願いします。
42
+ 原因、わかりましたら宜しくお願いします。
6
- (外出中のためコードを載せるのが難しいです。後ほど、コードを載せる修正をします。)