質問編集履歴
8
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -114,100 +114,6 @@
|
|
114
114
|
|
115
115
|
end
|
116
116
|
|
117
|
-
|
118
|
-
|
119
|
-
# it '特定のpostを取得する' do
|
120
|
-
|
121
|
-
# post = create(:post, title: 'test-title')
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
# get "/api/v1/posts/#{post.id}"
|
126
|
-
|
127
|
-
# json = JSON.parse(response.body)
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
132
|
-
|
133
|
-
# expect(response.status).to eq(200)
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
# # 要求した特定のポストのみ取得した事を確認する
|
138
|
-
|
139
|
-
# expect(json['data']['title']).to eq(post.title)
|
140
|
-
|
141
|
-
# end
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
# it '新しいpostを作成する' do
|
146
|
-
|
147
|
-
# valid_params = { title: 'title' }
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
# #データが作成されている事を確認
|
152
|
-
|
153
|
-
# expect { post '/api/v1/posts', params: { post: valid_params } }.to change(Post, :count).by(+1)
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
158
|
-
|
159
|
-
# expect(response.status).to eq(200)
|
160
|
-
|
161
|
-
# end
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
# it 'postの編集を行う' do
|
166
|
-
|
167
|
-
# post = create(:post, title: 'old-title')
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
# put "/api/v1/posts/#{post.id}", params: { post: {title: 'new-title'} }
|
172
|
-
|
173
|
-
# json = JSON.parse(response.body)
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
178
|
-
|
179
|
-
# expect(response.status).to eq(200)
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
# #データが更新されている事を確認
|
184
|
-
|
185
|
-
# expect(json['data']['title']).to eq('new-title')
|
186
|
-
|
187
|
-
# end
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
# it 'postを削除する' do
|
194
|
-
|
195
|
-
# post = create(:post)
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
# #データが削除されている事を確認
|
200
|
-
|
201
|
-
# expect { delete "/api/v1/posts/#{post.id}" }.to change(Post, :count).by(-1)
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
206
|
-
|
207
|
-
# expect(response.status).to eq(200)
|
208
|
-
|
209
|
-
# end
|
210
|
-
|
211
117
|
end
|
212
118
|
|
213
119
|
```
|
7
s
test
CHANGED
File without changes
|
test
CHANGED
@@ -351,3 +351,17 @@
|
|
351
351
|
end
|
352
352
|
|
353
353
|
```
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
---
|
358
|
+
|
359
|
+
追記2
|
360
|
+
|
361
|
+
▼こちらに現在うまくRspecが起動できないプロジェクトを置きました。(blogプロジェクト)
|
362
|
+
|
363
|
+
[https://github.com/k49977/railsAPI/tree/master/blog](https://github.com/k49977/railsAPI/tree/master/blog)
|
364
|
+
|
365
|
+
「rails s」でサーバー起動し、
|
366
|
+
|
367
|
+
```exec rspec spec/request/api/v1/posts_spec.rb```でテストを実行すると現状のエラーになります。
|
6
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -333,3 +333,21 @@
|
|
333
333
|
|
334
334
|
|
335
335
|
・テストコードを中身がない状態や必ずtrueとなる状態にして実施→同じエラーが出る
|
336
|
+
|
337
|
+
```rb
|
338
|
+
|
339
|
+
require 'rails_helper'
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
describe 'PostAPI' do
|
344
|
+
|
345
|
+
it '全てのポストを取得する' do
|
346
|
+
|
347
|
+
expect(1).to eq(1) #これを消しても同じエラー
|
348
|
+
|
349
|
+
end
|
350
|
+
|
351
|
+
end
|
352
|
+
|
353
|
+
```
|
5
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
以下のようなコードです。
|
80
80
|
|
81
|
-
↓post_spec.rb
|
81
|
+
↓posts_spec.rb
|
82
82
|
|
83
83
|
```rb
|
84
84
|
|
4
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -78,6 +78,8 @@
|
|
78
78
|
|
79
79
|
以下のようなコードです。
|
80
80
|
|
81
|
+
↓post_spec.rb
|
82
|
+
|
81
83
|
```rb
|
82
84
|
|
83
85
|
require 'rails_helper'
|
3
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -70,6 +70,12 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
+
以下のようなフォルダ構成です
|
74
|
+
|
75
|
+
![イメージ説明](f1c3fb5a67ff54aa726f29dc4dc4b304.png)
|
76
|
+
|
77
|
+
|
78
|
+
|
73
79
|
以下のようなコードです。
|
74
80
|
|
75
81
|
```rb
|
2
add
test
CHANGED
File without changes
|
test
CHANGED
@@ -299,3 +299,29 @@
|
|
299
299
|
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
300
300
|
|
301
301
|
```
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
---
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
追記
|
310
|
+
|
311
|
+
### 試したこと
|
312
|
+
|
313
|
+
・「rspec "`#{name}` is not available from within an example」で検索
|
314
|
+
|
315
|
+
結果、以下のサイトを確認しましたがピンとこず解決に至っていません。
|
316
|
+
|
317
|
+
https://stackoverflow.com/questions/45439673/rspec-mocking-name-not-available-from-within-an-example-group
|
318
|
+
|
319
|
+
https://qiita.com/opiyo_taku/items/6364adf27102d30f0e6d
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
・変数のスコープ絡みなのかな。といった観点でも調査。
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
・テストコードを中身がない状態や必ずtrueとなる状態にして実施→同じエラーが出る
|
1
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -210,7 +210,7 @@
|
|
210
210
|
|
211
211
|
|
212
212
|
|
213
|
-
Gemfileは以下です。
|
213
|
+
Gemfileは以下です。(「★追加」とコメントしているところがテストコード実装時に追加したものです。)
|
214
214
|
|
215
215
|
```gemfile
|
216
216
|
|