Python sqlite3断言错误

Python sqlite3 assertion error

我很确定我正在做的代码是合乎逻辑且有意义的,但是当我 运行 它反对我的测试时,结果返回非常不寻常,我正在尝试从 cookie 中找到一个会话,然后使用它从会话 table 中检索用户。我正在使用 bottle 框架来测试我的程序

    active_session = bottle.request.get_cookie(COOKIE_NAME)
cursor = db.cursor()

if active_session:
    cursor.execute("SELECT usernick FROM sessions WHERE sessionid=?", (active_session, ))
    active_user = cursor.fetchone()
    return active_user
else:
    return None

结果如下

    self.assertEqual(nick_from_cookie, nick)
AssertionError: ('Bobalooba',) != 'Bobalooba'\

我知道我很接近,有人能指出我正确的方向吗

这是因为您正在获取整行并将其与单个字符串进行比较。您需要获取包含在检索到的行中的单个字段。试试这个作为你断言的输入。

return active_user[0]
if active_session:
    cursor.execute("SELECT usernick FROM sessions WHERE sessionid=?", (active_session, ))
    active_user = cursor.fetchone()
    return active_user[0] if active_user else active_user