Spi*_*rit 16 python pytest flask-login
我正在使用烧瓶进行注册和登录:
from flask.ext.security.views import register, login
class Register(Resource):
def post(self):
return register()
class Login(Resource):
def post(self):
return login()
api.add_resource(Login, '/login')
api.add_resource(Register, '/register')
Run Code Online (Sandbox Code Playgroud)
然后我使用py.test来测试类:
class TestAPI:
def test_survey(self, app):
client = app.test_client()
data = {'email': 'test@test', 'password': 'password'}
rv = client.post('/2014-10-17/register',
data=json.dumps(data))
...
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,错误发生如下:
AssertionError: Popped wrong request context. (<RequestContext 'http://localhost/2014-10-17/register' [POST] of panel.app> instead of <RequestContext 'http://localhost/' [GET] of panel.app>)
Run Code Online (Sandbox Code Playgroud)
你知道为什么吗?在测试登录时,没有这样的错误
看来您必须用以下内容包装测试调用:
with self.app.test_client() as client:
data = {'email': 'test@test', 'password': 'password'}
rv = client.post('/2014-10-17/register', data=json.dumps(data))
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6213 次 |
| 最近记录: |