比较元组和字符串
Comparing tuples to strings
我正在尝试从数据库中的会话 table 中检索用户。在我的单元测试中我得到一个错误:
line 138, in test_session_user
self.assertEqual(nick_from_cookie, nick)
AssertionError: ('Bobalooba',) != 'Bobalooba'
我知道这是因为当测试将我的 return 值与字符串进行比较时,我的代码是 return 元组,因此它不匹配。
有没有办法让我使用元组进行比较,或者它们是查询我需要的结果的更好方法。下面是 table 即时通讯以及我的功能:
def session_user(db):
"""try to
retrieve the user from the sessions table
return usernick or None if no valid session is present
"""
cursor = db.cursor()
sessionid = bottle.request.get_cookie(COOKIE_NAME)
usernick = None
if sessionid:
cursor.execute("SELECT usernick FROM sessions WHERE sessionid=?", (sessionid,))
usernick = cursor.fetchone()
return usernick
使用
row = cursor.fetchone()
if row:
usernick, = row
注意元组的解包。
我正在尝试从数据库中的会话 table 中检索用户。在我的单元测试中我得到一个错误:
line 138, in test_session_user
self.assertEqual(nick_from_cookie, nick)
AssertionError: ('Bobalooba',) != 'Bobalooba'
我知道这是因为当测试将我的 return 值与字符串进行比较时,我的代码是 return 元组,因此它不匹配。
有没有办法让我使用元组进行比较,或者它们是查询我需要的结果的更好方法。下面是 table 即时通讯以及我的功能:
def session_user(db):
"""try to
retrieve the user from the sessions table
return usernick or None if no valid session is present
"""
cursor = db.cursor()
sessionid = bottle.request.get_cookie(COOKIE_NAME)
usernick = None
if sessionid:
cursor.execute("SELECT usernick FROM sessions WHERE sessionid=?", (sessionid,))
usernick = cursor.fetchone()
return usernick
使用
row = cursor.fetchone()
if row:
usernick, = row
注意元组的解包。