質問編集履歴
8
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -56,53 +56,6 @@
|
|
56
56
|
# 要求した特定のポストのみ取得した事を確認する
|
57
57
|
expect(json['data']['title']).to eq(post.title)
|
58
58
|
end
|
59
|
-
|
60
|
-
# it '特定のpostを取得する' do
|
61
|
-
# post = create(:post, title: 'test-title')
|
62
|
-
|
63
|
-
# get "/api/v1/posts/#{post.id}"
|
64
|
-
# json = JSON.parse(response.body)
|
65
|
-
|
66
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
67
|
-
# expect(response.status).to eq(200)
|
68
|
-
|
69
|
-
# # 要求した特定のポストのみ取得した事を確認する
|
70
|
-
# expect(json['data']['title']).to eq(post.title)
|
71
|
-
# end
|
72
|
-
|
73
|
-
# it '新しいpostを作成する' do
|
74
|
-
# valid_params = { title: 'title' }
|
75
|
-
|
76
|
-
# #データが作成されている事を確認
|
77
|
-
# expect { post '/api/v1/posts', params: { post: valid_params } }.to change(Post, :count).by(+1)
|
78
|
-
|
79
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
80
|
-
# expect(response.status).to eq(200)
|
81
|
-
# end
|
82
|
-
|
83
|
-
# it 'postの編集を行う' do
|
84
|
-
# post = create(:post, title: 'old-title')
|
85
|
-
|
86
|
-
# put "/api/v1/posts/#{post.id}", params: { post: {title: 'new-title'} }
|
87
|
-
# json = JSON.parse(response.body)
|
88
|
-
|
89
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
90
|
-
# expect(response.status).to eq(200)
|
91
|
-
|
92
|
-
# #データが更新されている事を確認
|
93
|
-
# expect(json['data']['title']).to eq('new-title')
|
94
|
-
# end
|
95
|
-
|
96
|
-
|
97
|
-
# it 'postを削除する' do
|
98
|
-
# post = create(:post)
|
99
|
-
|
100
|
-
# #データが削除されている事を確認
|
101
|
-
# expect { delete "/api/v1/posts/#{post.id}" }.to change(Post, :count).by(-1)
|
102
|
-
|
103
|
-
# # リクエスト成功を表す200が返ってきたか確認する。
|
104
|
-
# expect(response.status).to eq(200)
|
105
|
-
# end
|
106
59
|
end
|
107
60
|
```
|
108
61
|
|
7
s
title
CHANGED
File without changes
|
body
CHANGED
@@ -174,4 +174,11 @@
|
|
174
174
|
expect(1).to eq(1) #これを消しても同じエラー
|
175
175
|
end
|
176
176
|
end
|
177
|
-
```
|
177
|
+
```
|
178
|
+
|
179
|
+
---
|
180
|
+
追記2
|
181
|
+
▼こちらに現在うまくRspecが起動できないプロジェクトを置きました。(blogプロジェクト)
|
182
|
+
[https://github.com/k49977/railsAPI/tree/master/blog](https://github.com/k49977/railsAPI/tree/master/blog)
|
183
|
+
「rails s」でサーバー起動し、
|
184
|
+
```exec rspec spec/request/api/v1/posts_spec.rb```でテストを実行すると現状のエラーになります。
|
6
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -165,4 +165,13 @@
|
|
165
165
|
|
166
166
|
・変数のスコープ絡みなのかな。といった観点でも調査。
|
167
167
|
|
168
|
-
・テストコードを中身がない状態や必ずtrueとなる状態にして実施→同じエラーが出る
|
168
|
+
・テストコードを中身がない状態や必ずtrueとなる状態にして実施→同じエラーが出る
|
169
|
+
```rb
|
170
|
+
require 'rails_helper'
|
171
|
+
|
172
|
+
describe 'PostAPI' do
|
173
|
+
it '全てのポストを取得する' do
|
174
|
+
expect(1).to eq(1) #これを消しても同じエラー
|
175
|
+
end
|
176
|
+
end
|
177
|
+
```
|
5
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|

|
39
39
|
|
40
40
|
以下のようなコードです。
|
41
|
-
↓
|
41
|
+
↓posts_spec.rb
|
42
42
|
```rb
|
43
43
|
require 'rails_helper'
|
44
44
|
# [Rails API Testing Best Practices] (https://matthewlehner.net/rails-api-testing-guidelines)
|
4
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,6 +38,7 @@
|
|
38
38
|

|
39
39
|
|
40
40
|
以下のようなコードです。
|
41
|
+
↓post_spec.rb
|
41
42
|
```rb
|
42
43
|
require 'rails_helper'
|
43
44
|
# [Rails API Testing Best Practices] (https://matthewlehner.net/rails-api-testing-guidelines)
|
3
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,6 +34,9 @@
|
|
34
34
|
|
35
35
|
もしアドバイスいただける方がいらっしゃいましたらお願いいたします。
|
36
36
|
|
37
|
+
以下のようなフォルダ構成です
|
38
|
+

|
39
|
+
|
37
40
|
以下のようなコードです。
|
38
41
|
```rb
|
39
42
|
require 'rails_helper'
|
2
add
title
CHANGED
File without changes
|
body
CHANGED
@@ -148,4 +148,17 @@
|
|
148
148
|
|
149
149
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
150
150
|
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
151
|
-
```
|
151
|
+
```
|
152
|
+
|
153
|
+
---
|
154
|
+
|
155
|
+
追記
|
156
|
+
### 試したこと
|
157
|
+
・「rspec "`#{name}` is not available from within an example」で検索
|
158
|
+
結果、以下のサイトを確認しましたがピンとこず解決に至っていません。
|
159
|
+
https://stackoverflow.com/questions/45439673/rspec-mocking-name-not-available-from-within-an-example-group
|
160
|
+
https://qiita.com/opiyo_taku/items/6364adf27102d30f0e6d
|
161
|
+
|
162
|
+
・変数のスコープ絡みなのかな。といった観点でも調査。
|
163
|
+
|
164
|
+
・テストコードを中身がない状態や必ずtrueとなる状態にして実施→同じエラーが出る
|
1
a
title
CHANGED
File without changes
|
body
CHANGED
@@ -104,7 +104,7 @@
|
|
104
104
|
|
105
105
|
PostmanでAPIのCRUDは実施確認済みです。(プロダクトコードは参考サイトと同様です。)
|
106
106
|
|
107
|
-
Gemfileは以下です。
|
107
|
+
Gemfileは以下です。(「★追加」とコメントしているところがテストコード実装時に追加したものです。)
|
108
108
|
```gemfile
|
109
109
|
source 'https://rubygems.org'
|
110
110
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|