質問編集履歴

3

タイトルの修正

2021/11/29 05:33

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Flask公式チュートリアルの「pytest」でエラーが起こる
1
+ Flask公式チュートリアルの「pytest」でAssertionErrorが起こる
test CHANGED
File without changes

2

不足部分の追加

2021/11/29 05:33

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Flask公式チュートリアルの「pytest」でエラーが起こる
1
+ Flask公式チュートリアルの「pytest」でエラーが起こる
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- [Flask公式チュートリアル](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/tutorial/index.html)を終えて、[「pytest」](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/testing.html)をするところで発生するエラーによってテストが実施できていません。
5
+ [Flask公式チュートリアル](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/tutorial/index.html)を終えて、[「pytest(最初のテスト)」](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/testing.html#the-first-test)をするところで発生するエラーによってテストが実施できていません。
6
6
 
7
7
  エラーが出たためチュートリアルからソースコードをすべてコピペしなおしました。
8
8
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  ```cmd
26
26
 
27
- $pytest pytest実行
27
+ $pytest #pytest実行
28
28
 
29
29
  ~~~~~~~~~~~~~~
30
30
 
@@ -184,7 +184,9 @@
184
184
 
185
185
  ```cmd
186
186
 
187
-
187
+ $pytest #pytest実行
188
+
189
+ ~~~~~~~~~~~~~~
188
190
 
189
191
  client = <FlaskClient <Flask 'flaskr'>>
190
192
 
@@ -216,6 +218,10 @@
216
218
 
217
219
  長々しく書いてしまい申し訳ありません。
218
220
 
221
+ a = create_app()
222
+
223
+ この記述を書いたことでテスト対象まで処理が進んだように見えます。
224
+
219
225
  AssertionErrorということは公式チュートリアルの記述自体が間違っているのでしょうか?
220
226
 
221
227
  ### 補足情報

1

エラー内容の修正

2021/11/29 05:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -114,9 +114,9 @@
114
114
 
115
115
  flaskrが定義されていないとエラーが出ているので、 
116
116
 
117
- aaa = create_app()
117
+ a = create_app()
118
-
118
+
119
- この記述を追加して実行してみるとAttributeErrorが発生してしまいます。
119
+ この記述を追加して実行してみるとAssertionErrorが発生してしまいます。
120
120
 
121
121
 
122
122
 
@@ -132,11 +132,15 @@
132
132
 
133
133
  import pytest
134
134
 
135
+
136
+
135
137
  from flaskr import create_app
136
138
 
137
-
139
+ from flaskr.db import init_db
138
-
140
+
141
+
142
+
139
- aaa = create_app()
143
+ a = create_app()
140
144
 
141
145
 
142
146
 
@@ -144,17 +148,17 @@
144
148
 
145
149
  def client():
146
150
 
147
- db_fd, aaa.app.config['DATABASE'] = tempfile.mkstemp()
151
+ db_fd, a.config['DATABASE'] = tempfile.mkstemp()
148
-
152
+
149
- aaa.app.config['TESTING'] = True
153
+ a.config['TESTING'] = True
150
-
151
-
152
-
154
+
155
+
156
+
153
- with aaa.app.test_client() as client:
157
+ with a.test_client() as client:
154
-
158
+
155
- with aaa.app.app_context():
159
+ with a.app_context():
156
-
160
+
157
- aaa.init_db()
161
+ init_db()
158
162
 
159
163
  yield client
160
164
 
@@ -162,7 +166,7 @@
162
166
 
163
167
  os.close(db_fd)
164
168
 
165
- os.unlink(aaa.app.config['DATABASE'])
169
+ os.unlink(a.config['DATABASE'])
166
170
 
167
171
 
168
172
 
@@ -182,25 +186,37 @@
182
186
 
183
187
 
184
188
 
185
- @pytest.fixture
186
-
187
- def client():
188
-
189
- > db_fd, aaa.app.config['DATABASE'] = tempfile.mkstemp()
190
-
191
- E AttributeError: 'Flask' object has no attribute 'app'
192
-
193
-
194
-
195
- tests\test_flaskr.py:11: AttributeError
196
-
197
- =================================== short test summary info ====================================
198
-
199
- ERROR tests/test_flaskr.py::test_empty_db - AttributeError: 'Flask' object has no attribute 'app'
200
-
201
- ```
202
-
203
-
189
+ client = <FlaskClient <Flask 'flaskr'>>
190
+
191
+
192
+
193
+ def test_empty_db(client):
194
+
195
+ """Start with a blank database."""
196
+
197
+
198
+
199
+ rv = client.get('/')
200
+
201
+ > assert b'No entries here so far' in rv.data
202
+
203
+ E assert b'No entries here so far' in b'<!doctype html>\n<title>Posts - Flaskr</title>\n<link rel="stylesheet" href="/static/style.css">\n<nav>\n <h1>Flask...l>\n</nav>\n<section class="content">\n <header>\n \n <h1>Posts</h1>\n \n\n </header>\n \n \n \n\n</section>'
204
+
205
+ E + where b'<!doctype html>\n<title>Posts - Flaskr</title>\n<link rel="stylesheet" href="/static/style.css">\n<nav>\n <h1>Flask...l>\n</nav>\n<section class="content">\n <header>\n \n <h1>Posts</h1>\n \n\n </header>\n \n \n \n\n</section>' = <WrapperTestResponse 337 bytes [200 OK]>.data
206
+
207
+
208
+
209
+ tests\test_flaskr.py:28: AssertionError
210
+
211
+ ============================================================= short test summary info ==============================================================
212
+
213
+ FAILED tests/test_flaskr.py::test_empty_db - assert b'No entries here so far' in b'<!doctype html>\n<title>Posts - Flaskr</title>\n<link rel="styl...
214
+
215
+ ```
216
+
217
+ 長々しく書いてしまい申し訳ありません。
218
+
219
+ AssertionErrorということは公式チュートリアルの記述自体が間違っているのでしょうか?
204
220
 
205
221
  ### 補足情報
206
222