【发布时间】:2019-10-10 15:03:48
【问题描述】:
我有一个返回 json 的路由。 我正在测试这条路线以检查返回的 json 是否等于我预期的 json。 当我测试这条路线时,我得到了这个错误:不支持解码 str
这个函数工作正常,它返回我想要的列表。 我要测试的函数的代码:
@app.route('/users', methods=['GET'])
@jwt_required
def user_list():
users = ldap.get_group_members('ship_crew')
user_list = []
for user in users:
user_list.append((str(user, encoding='utf-8').split(",")[0].split("=")[1]))
return jsonify(user_list)
测试代码:
@patch('dev_maintenance.user_list.ldap.get_group_members')
def test_content_type_json(get_group_members, access_token):
get_group_members.return_value = ["cn=Philip J. Fry,ou=people,dc=planetexpress,dc=com",\
"cn=Turanga Leela,ou=people,dc=planetexpress,dc=com",\
"cn=Bender Bending Rodr\u00edguez,ou=people,dc=planetexpress,dc=com"]
with app.test_client() as client:
response = client.get('/users',
data=dict(user="hermes", passwd="hermes"),
headers={"Authorization": "Bearer {}".format(access_token)} )
expected_json = ["Philip J. Fry", "Turanga Leela", "Bender Bending Rodr\u00edguez"]
assert response.get_json() == expected_json
错误:
@app.route('/users', methods=['GET'])
@jwt_required
def user_list():
users = ldap.get_group_members('ship_crew')
user_list = []
for user in users:
> user_list.append((str(user, encoding='utf-8').split(",")[0].split("=")[1]))
E TypeError: decoding str is not supported
【问题讨论】:
-
有什么帮助吗?我真的被困在了这个
标签: python flask python-unittest