我试图为示例烧瓶应用程序编写一些单元测试。我想检查响应中是否有特定的字符串。我一直在TypeError: 'str' does not support the buffer interface
。为什么我会收到此错误,我该如何解决?
======================================================================
ERROR: test_empty_db (__main__.FlaskrTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_flaskr.py", line 31, in test_empty_db
assert 'No entries here so far' in rv.data
TypeError: 'str' does not support the buffer interface
答案 0 :(得分:5)
来自测试客户端的响应数据是字节,而不是unicode,数据。在Python 3中,这意味着您需要解码数据以将其与字符串进行比较,或者将其与字节串进行比较。
# compare bytes
assert b'No entries so far' in rv.data
# or decode to string
assert 'No entries so far' in rv.data.decode('utf8')