Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Unittest断言错误和编码_Python_Unit Testing_Encoding_Flask_Assert - Fatal编程技术网

Python Unittest断言错误和编码

Python Unittest断言错误和编码,python,unit-testing,encoding,flask,assert,Python,Unit Testing,Encoding,Flask,Assert,我正在尝试为我的flask应用程序编写一个简单的测试。这个应用程序是西里尔文的 def test_empty(self): res = self.app.get('/') assert 'В базе нет ссылок.' in res.data 当我尝试运行此测试时,我得到 FAIL: test_empty (__main__.LinkTestCase) -----------------------------------------------------------

我正在尝试为我的flask应用程序编写一个简单的测试。这个应用程序是西里尔文的

def test_empty(self):
    res = self.app.get('/')
    assert 'В базе нет ссылок.' in res.data
当我尝试运行此测试时,我得到

FAIL: test_empty (__main__.LinkTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests.py", line 17, in test_empty
    assert 'ðÆ ð▒ð░ðÀðÁ ð¢ðÁÐé ÐüÐüÐïð╗ð¥ð║.' in res.data
AssertionError
似乎编码有问题

有人能给我解释一下这个问题的性质吗


我在Windows 7上使用python2.7.3

您使用的是字节字符串,内容将完全取决于您如何保存源代码。在处理文本时,通常要避免使用ByTestRing,请改用Unicode字符串。请参阅,另一种可能是,当Python回荡源代码行时,您的控制台误解了该行中的字节。@MartijnPieters嗯,我尝试使用
unicode(str)
u'str'
,但都没有成功。我的源文件中还有一个
#-*-编码:utf-8-*-
。如果您实际使用了该编解码器来保存文件,
编码行会有所帮助(但要生成仍然可以解释为utf-8且不引发异常的内容将更加困难)。如果
u'…'
在这里没有帮助,那么是您的控制台配置错误。UTF-8数据是打印出来的,但控制台在不同的编解码器中解释字节。@MartijnPieters我刚刚尝试从不同的代码块中记录另一个西里尔字母字符串,是的,你是对的,我的控制台有问题。但是这种“视觉缺陷”如何影响测试结果呢?断言如何依赖于控制台编码?