質問編集履歴

3

テストの実行結果をきにゅ

2021/01/31 07:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -114,13 +114,13 @@
114
114
 
115
115
  it { expect { subject }.to change { Note.count }.by(1) }
116
116
 
117
- it "flash message" do
117
+ it "flash message" do #RED
118
118
 
119
119
  expect(flash[:success]).to match(/New note created!/)
120
120
 
121
121
  end
122
122
 
123
- it "redirect to" do
123
+ it "redirect to" do #RED
124
124
 
125
125
  expect(response).to have_http_status(302)
126
126
 

2

質問を追加した

2021/01/31 07:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -69,3 +69,65 @@
69
69
  end
70
70
 
71
71
  ```
72
+
73
+
74
+
75
+ また、以下のコードでテストが通らなくなる理由を教えていただきたいです。
76
+
77
+ notes_request_spec.rb
78
+
79
+ ```
80
+
81
+ require 'rails_helper'
82
+
83
+ RSpec.describe "Notes", type: :request do
84
+
85
+ let(:user) { FactoryBot.create(:user, :all_authorized) }
86
+
87
+ let(:note) { FactoryBot.create(:note) }
88
+
89
+ describe "POST #create" do
90
+
91
+ before { log_in_as(user) }
92
+
93
+
94
+
95
+ context "valid request" do
96
+
97
+ subject { post notes_path, params: params } # subject を定義
98
+
99
+ let(:params) {
100
+
101
+ {
102
+
103
+ note: {
104
+
105
+ title: "note_title_spec",
106
+
107
+ contents: "note_contents_spec"
108
+
109
+ }
110
+
111
+ }
112
+
113
+ }
114
+
115
+ it { expect { subject }.to change { Note.count }.by(1) }
116
+
117
+ it "flash message" do
118
+
119
+ expect(flash[:success]).to match(/New note created!/)
120
+
121
+ end
122
+
123
+ it "redirect to" do
124
+
125
+ expect(response).to have_http_status(302)
126
+
127
+ end
128
+
129
+ end
130
+
131
+ end
132
+
133
+ ```

1

前置きを付け加えた

2021/01/31 07:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,10 @@
1
1
  rspec subjectの使い方について質問させてください!
2
2
 
3
3
  rails でアプリケーションを作っており現時点でspecテストは通っているのですが、リファクタリングしたいです。
4
+
5
+ subjectによって、処理を変数に置き換えて使っています。
6
+
7
+ xsubjectの使い方はあっていますか?
4
8
 
5
9
  it 節でsubject を呼び出さないようにしたいのですが、どのように修正すれば良いですか?
6
10