質問編集履歴
3
値の生成をテストファイルに直接記述した際の結果を追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Rspecのコントローラー単体テストで
|
1
|
+
Rspecのコントローラー単体テストでActiveRecord::NotNullViolationが発生する
|
body
CHANGED
@@ -134,7 +134,6 @@
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
```
|
137
|
-
```
|
138
137
|
|
139
138
|
### 試したこと
|
140
139
|
|
@@ -155,4 +154,46 @@
|
|
155
154
|
|
156
155
|
長文で読みにくい文章になってしまい大変恐縮ですが、
|
157
156
|
ご助力いただけますと幸いです。
|
158
|
-
よろしくお願いいたします。
|
157
|
+
よろしくお願いいたします。
|
158
|
+
|
159
|
+
### 追記
|
160
|
+
|
161
|
+
値の生成についてテストファイル内に記述したところ、テストが成功しました。
|
162
|
+
そのことから、FactoryBotの記述に問題があるのでは?と考えております。
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
require 'rails_helper'
|
166
|
+
|
167
|
+
RSpec.describe "Delis", type: :request do
|
168
|
+
before do
|
169
|
+
@user = User.create(name:'sample', email:"aaa@yahoo.com", password:"sample00", password_confirmation:'sample00')
|
170
|
+
@deli = Deli.create(name:'test', text:'test', category_id:1, supermarket_id:1, user_id:1)
|
171
|
+
end
|
172
|
+
|
173
|
+
describe "GET /delis" do
|
174
|
+
it "indexアクションにリクエストすると正常にレスポンスが返ってくる" do
|
175
|
+
get root_path
|
176
|
+
expect(response.status).to eq(200)
|
177
|
+
end
|
178
|
+
|
179
|
+
it 'indexアクションにリクエストするとレスポンスに投稿済みの惣菜名が存在する' do
|
180
|
+
get root_path
|
181
|
+
expect(response.body).to include(@deli.name)
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'indexアクションにリクエストするとレスポンスに投稿済みの画像が存在する' do
|
185
|
+
|
186
|
+
end
|
187
|
+
|
188
|
+
it 'indexアクションにリクエストするとレスポンスにカテゴリー名が存在する' do
|
189
|
+
get root_path
|
190
|
+
expect(response.body).to include(@deli.category.name)
|
191
|
+
end
|
192
|
+
|
193
|
+
it 'indexアクションにリクエストするとレスポンスに投稿者のユーザー名が存在する' do
|
194
|
+
get root_path
|
195
|
+
expect(response.body).to include(@deli.user.name)
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
```
|
2
テスト実行のためのdelis_spec.rbに追加のテスト事項を記載
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,6 +43,11 @@
|
|
43
43
|
get root_path
|
44
44
|
expect(response.status).to eq(200)
|
45
45
|
end
|
46
|
+
|
47
|
+
it 'indexアクションにリクエストするとレスポンスに投稿済みの惣菜名が存在する' do
|
48
|
+
get root_path
|
49
|
+
expect(response.body).to include(@deli.name)
|
50
|
+
end
|
46
51
|
end
|
47
52
|
end
|
48
53
|
```
|
1
コントローラーにindexアクションの記述を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -87,6 +87,10 @@
|
|
87
87
|
|
88
88
|
〜前略〜
|
89
89
|
|
90
|
+
def index
|
91
|
+
@delis = Deli.all
|
92
|
+
end
|
93
|
+
|
90
94
|
def new
|
91
95
|
@deli = Deli.new
|
92
96
|
end
|