teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

a

2021/02/22 14:16

投稿

k499778
k499778

スコア599

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

2021/02/22 14:16

投稿

k499778
k499778

スコア599

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

2021/02/22 11:47

投稿

k499778
k499778

スコア599

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

2021/02/22 07:52

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -38,7 +38,7 @@
38
38
  ![イメージ説明](f1c3fb5a67ff54aa726f29dc4dc4b304.png)
39
39
 
40
40
  以下のようなコードです。
41
- post_spec.rb
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

2021/02/22 07:13

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -38,6 +38,7 @@
38
38
  ![イメージ説明](f1c3fb5a67ff54aa726f29dc4dc4b304.png)
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

2021/02/22 07:13

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -34,6 +34,9 @@
34
34
 
35
35
  もしアドバイスいただける方がいらっしゃいましたらお願いいたします。
36
36
 
37
+ 以下のようなフォルダ構成です
38
+ ![イメージ説明](f1c3fb5a67ff54aa726f29dc4dc4b304.png)
39
+
37
40
  以下のようなコードです。
38
41
  ```rb
39
42
  require 'rails_helper'

2

add

2021/02/22 07:12

投稿

k499778
k499778

スコア599

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

2021/02/22 07:09

投稿

k499778
k499778

スコア599

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" }