UnitTest错误:AssertionError:在b'{\ n“ msg”:“没有足够的段”中找不到b'Philip'\ n}

时间:2019-10-03 09:39:36

标签: unit-testing flask

我正在测试GET路由,以检查返回的Json是否等于我的字符串列表。 我的路线具有装饰器@jwt_required,并且需要令牌来进行用户验证。 我嘲笑了jtw_required和我的ldap.get_group_members。 问题是我收到此错误:

AssertionError: {'msg': 'Not enough segments'} not found in ['Philip J. Fry', 'Turanga Leela', 'Bender Bending Rodr\\xc3\\xadguez']

我认为是因为我需要检查令牌,但是我不知道该怎么做。

获取路线:

@jwt_required
def user_list():
    list_1 = []
    users = ldap.get_group_members('ship_crew')

    for user in users:
        list_1.append(str(user).split(",")[0].split("=")[1])
    return jsonify(list_1)

测试用例:

class FlaskLogin(unittest.TestCase):


 @patch('dev_maintenance.user_list.jwt_required',return_value=None)
 @patch('dev_maintenance.user_list.ldap.get_group_members',return_value =false)
 def test_get_users(self, get_group_members, jtw_required):

        jtw_required.verify.return_value = False
        get_group_members.verify.return_value = True
        user_list = ["Philip J. Fry","Turanga Leela","Bender Bending Rodr\\xc3\\xadguez" ]

        valid_credentials = base64.b64encode(b'user:pass').decode('utf-8')

        tester = app.test_client(self)
        with tester as client:

            response = client.get(
                '/users',

                content_type='application/json',
                headers={'Authorization': 'Bearer ' + valid_credentials},
                follow_redirects=True)
            json_resp = json.loads(response.data.decode('utf-8'))
            self.assertIn(json_resp, user_list)

0 个答案:

没有答案