回答編集履歴

3

サンプル

2018/11/22 06:16

投稿

退会済みユーザー
test CHANGED
@@ -52,6 +52,38 @@
52
52
 
53
53
 
54
54
 
55
+ サンプル
56
+
57
+ ```ruby
58
+
59
+ describe OffersController, type: :request do
60
+
61
+ describe '#index' do
62
+
63
+ it 'リクエストが成功し、一覧画面が表示されていること' do
64
+
65
+ get offers_url
66
+
67
+ aggregate_failures do
68
+
69
+ expect(response.status).to eq 200
70
+
71
+ expect(response.body).to include 'オファー一覧'
72
+
73
+ end
74
+
75
+ end
76
+
77
+ end
78
+
79
+ end
80
+
81
+ ```
82
+
83
+ みたいな感じですかね。
84
+
85
+
86
+
55
87
  モデルなどコントローラとは関係ない部分の条件によって変わる
56
88
 
57
89
  表示内容についてはFeatureSpecで検証を行うのがいいと思います。

2

追記

2018/11/22 06:16

投稿

退会済みユーザー
test CHANGED
@@ -48,6 +48,8 @@
48
48
 
49
49
  簡単に言えばちゃんとアクセスできるかということと表示されるページが間違えてないかということです。
50
50
 
51
+ 加えてデータの保存、編集、削除が行われたかどうかくらいですかね。
52
+
51
53
 
52
54
 
53
55
  モデルなどコントローラとは関係ない部分の条件によって変わる

1

修正

2018/11/22 06:02

投稿

退会済みユーザー
test CHANGED
@@ -21,3 +21,35 @@
21
21
  `let!(:offer) { create(:offer) }`を用意する必要がないので
22
22
 
23
23
  この2つは不要だと思います。
24
+
25
+
26
+
27
+ ---
28
+
29
+ 追記
30
+
31
+
32
+
33
+ RequestSpecならば
34
+
35
+ ```ruby
36
+
37
+ expect(response.body).to include 'offerがありません'
38
+
39
+ ```
40
+
41
+ で検証できます。
42
+
43
+
44
+
45
+ ただ、今回のような条件によって表示が変わる部分の検証をRequestSpecで行うべきではないです。
46
+
47
+ RequestSpecでは主にリクエストが成功することと、想定するレスポンスがあることのみを検証します。
48
+
49
+ 簡単に言えばちゃんとアクセスできるかということと表示されるページが間違えてないかということです。
50
+
51
+
52
+
53
+ モデルなどコントローラとは関係ない部分の条件によって変わる
54
+
55
+ 表示内容についてはFeatureSpecで検証を行うのがいいと思います。