正在练习 API 测试,并尝试运行以下测试
def test_login_user(self):
with self.app as client:
with self.app_context():
client.post('/register',data={'username':'test','password':'1234'})
auth_response=client.post('/auth',
data=json.dumps({'username':'test','password':'1234'}),
headers={'content-type': 'application/json'})
self.assertIn('access_token',json.loads(auth_response.data).keys())
以休闲错误结束:
错误回溯(最后一次调用):文件“c:\python39\lib\unittest\case.py”,第 59 行,在 testPartExecutor 中产生文件“c:\python39\lib\unittest\case.py”,第 593 行,在运行自我。callTestMethod(testMethod) 文件“c:\python39\lib\unittest\case.py”,第 550 行,在callTestMethod method() File "C:\Users\Admin\Flask\app\RestAPI\tests\system\test_user.py",第 28 行,在 test_login_user auth_response=client.post('/auth', File "C:\Users \Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py”,第 1016 行,在后返回 self.open(*args, **kw) 文件“C:\Users\Admin\Envs\MyStoreFW\ lib\site-packages\flask\testing.py",第 222 行,打开返回 Client.open( 文件 "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py",行970,在打开响应 = self.run_wsgi_app(environ.copy(), buffered=buffered) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py”,第 861 行,在run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) 文件 "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\werkzeug\test.py",第 1096 行,在 run_wsgi_app app_rv = app(environ, start_response) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py”,第 2464 行,在调用 return self.wsgi_app(environ, start_response) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py", line 2450, in wsgi_app response = self.handle_exception(e) File "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\ flask_restful_init.py”,第 272 行,error_router 返回 original_handler(e) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py”,第 1867 行,handle_exception reraise(exc_type, exc_value , tb) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_compat.py”,第 39 行,在 reraise raise 值文件“C:\Users\Admin\Envs\MyStoreFW\lib\site -packages\flask\app.py”,第 2447 行,在 wsgi_app 响应 = self.full_dispatch_request() 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py”,第 1952 行, 在 full_dispatch_request rv = self.handle_user_exception(e) 文件 "C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\ flask_restful_init.py”,第 272 行,error_router 返回 original_handler(e) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py”,第 1821 行,handle_user_exception reraise(exc_type, exc_value , tb) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_compat.py”,第 39 行,在 reraise raise 值文件“C:\Users\Admin\Envs\MyStoreFW\lib\site -packages\flask\app.py”,第 1950 行,在 full_dispatch_request rv = self.dispatch_request() 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask\app.py”,第 1936 行,在 dispatch_request 返回 self.view_functionsrule.endpoint 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_jwt_init _.py ”,第 125 行,在 _default_auth_request_handler access_token =jwt.jwt_encode_callback(identity) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\flask_jwt_init .py ”,第 70 行,_default_jwt_encode_handler return jwt.encode(payload, secret, algorithm=algorithm, headers =headers) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site-packages\jwt\api_jwt.py”,第 55 行,编码返回 super(PyJWT, self).encode( 文件“C:\Users \Admin\Envs\MyStoreFW\lib\site-packages\jwt\api_jws.py”,第 98 行,在编码键 = alg_obj.prepare_key(key) 文件“C:\Users\Admin\Envs\MyStoreFW\lib\site- packages\jwt\algorithms.py”,第 116 行,在 prepare_key 中引发 TypeError('Expecting a string- or bytes-formatted key.') TypeError: Expecting a string- or bytes-formatted key。
我探索了所有相关的解决方案,但未能解决问题。请帮忙