質問編集履歴

3

値の生成をテストファイルに直接記述した際の結果を追記

2021/05/09 12:26

投稿

programmingnuoh
programmingnuoh

スコア0

test CHANGED
@@ -1 +1 @@
1
- Rspecのコントローラー単体テストでcreateメソッドを用いても値が生成できない
1
+ Rspecのコントローラー単体テストでActiveRecord::NotNullViolationする
test CHANGED
@@ -270,8 +270,6 @@
270
270
 
271
271
  ```
272
272
 
273
- ```
274
-
275
273
 
276
274
 
277
275
  ### 試したこと
@@ -313,3 +311,87 @@
313
311
  ご助力いただけますと幸いです。
314
312
 
315
313
  よろしくお願いいたします。
314
+
315
+
316
+
317
+ ### 追記
318
+
319
+
320
+
321
+ 値の生成についてテストファイル内に記述したところ、テストが成功しました。
322
+
323
+ そのことから、FactoryBotの記述に問題があるのでは?と考えております。
324
+
325
+
326
+
327
+ ```ruby
328
+
329
+ require 'rails_helper'
330
+
331
+
332
+
333
+ RSpec.describe "Delis", type: :request do
334
+
335
+ before do
336
+
337
+ @user = User.create(name:'sample', email:"aaa@yahoo.com", password:"sample00", password_confirmation:'sample00')
338
+
339
+ @deli = Deli.create(name:'test', text:'test', category_id:1, supermarket_id:1, user_id:1)
340
+
341
+ end
342
+
343
+
344
+
345
+ describe "GET /delis" do
346
+
347
+ it "indexアクションにリクエストすると正常にレスポンスが返ってくる" do
348
+
349
+ get root_path
350
+
351
+ expect(response.status).to eq(200)
352
+
353
+ end
354
+
355
+
356
+
357
+ it 'indexアクションにリクエストするとレスポンスに投稿済みの惣菜名が存在する' do
358
+
359
+ get root_path
360
+
361
+ expect(response.body).to include(@deli.name)
362
+
363
+ end
364
+
365
+
366
+
367
+ it 'indexアクションにリクエストするとレスポンスに投稿済みの画像が存在する' do
368
+
369
+
370
+
371
+ end
372
+
373
+
374
+
375
+ it 'indexアクションにリクエストするとレスポンスにカテゴリー名が存在する' do
376
+
377
+ get root_path
378
+
379
+ expect(response.body).to include(@deli.category.name)
380
+
381
+ end
382
+
383
+
384
+
385
+ it 'indexアクションにリクエストするとレスポンスに投稿者のユーザー名が存在する' do
386
+
387
+ get root_path
388
+
389
+ expect(response.body).to include(@deli.user.name)
390
+
391
+ end
392
+
393
+ end
394
+
395
+ end
396
+
397
+ ```

2

テスト実行のためのdelis_spec.rbに追加のテスト事項を記載

2021/05/09 12:26

投稿

programmingnuoh
programmingnuoh

スコア0

test CHANGED
File without changes
test CHANGED
@@ -88,6 +88,16 @@
88
88
 
89
89
  end
90
90
 
91
+
92
+
93
+ it 'indexアクションにリクエストするとレスポンスに投稿済みの惣菜名が存在する' do
94
+
95
+ get root_path
96
+
97
+ expect(response.body).to include(@deli.name)
98
+
99
+ end
100
+
91
101
  end
92
102
 
93
103
  end

1

コントローラーにindexアクションの記述を追加

2021/05/08 14:05

投稿

programmingnuoh
programmingnuoh

スコア0

test CHANGED
File without changes
test CHANGED
@@ -176,6 +176,14 @@
176
176
 
177
177
 
178
178
 
179
+ def index
180
+
181
+ @delis = Deli.all
182
+
183
+ end
184
+
185
+
186
+
179
187
  def new
180
188
 
181
189
  @deli = Deli.new