python – Flask test_client无法处理HTTP 204无数据
发布时间:2020-12-20 13:47:45 所属栏目:Python 来源:网络整理
导读:我删除了端点,返回HTTP 204 @blueprint.route('/foo',methods=['DELETE'])def delete_tag(id): # .... return '',204 我想测试一下 def test_delete_tag(self): resp = self.client.delete(url_for('tags.delete_tag',id=1)) self.assertEqual(resp.status_c
我删除了端点,返回HTTP 204
@blueprint.route('/foo',methods=['DELETE']) def delete_tag(id): # .... return '',204 我想测试一下 def test_delete_tag(self): resp = self.client.delete(url_for('tags.delete_tag',id=1)) self.assertEqual(resp.status_code,204) 但我得到了例外 Traceback (most recent call last): File "tests/tags_test.py",line 31,in test_delete_tag resp = self.client.delete(url_for('tags.delete_tag',id=1)}) File ".virtualenvs/...site-packages/werkzeug/test.py",line 799,in delete return self.open(*args,**kw) File ".virtualenvs/...site-packages/flask/testing.py",line 108,in open follow_redirects=follow_redirects) File ".virtualenvs/...site-packages/werkzeug/test.py",line 742,in open response = self.run_wsgi_app(environ,buffered=buffered) File ".virtualenvs/...site-packages/werkzeug/test.py",line 659,in run_wsgi_app rv = run_wsgi_app(self.application,environ,buffered=buffered) File ".virtualenvs/.../site-packages/werkzeug/test.py",line 885,in run_wsgi_app buffer.append(next(app_iter)) StopIteration 响应状态200它一切正常.有没有办法如何修复测试? 解决方法
小瓶子app:
from flask import Flask,request app = Flask(__name__) @app.route('/foo',methods=['DELETE']) def delete_tag(): print "i got",request.form['id'] return '',204 @app.route('/foo2/<id>',methods=['DELETE']) def delete_tag2(id): print "i got.. .",id return '',204 if __name__ == '__main__': app.run(debug=True) 并在ipython qtconsole中;我这样做了: In [3]: from app import app In [4]: from flask import url_for In [5]: c = app.test_client() In [6]: with app.test_request_context(): ...: rv = c.delete(url_for('delete_tag2',id=55)) ...: print rv.status_code ...: i got.. . 55 204 In [7]: rv = c.delete("/foo",data={"id": 555}) i got 555 In [8]: rv.status_code Out[8]: 204 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |