Как я могу получить не экранированный вывод utf-8 из тестов Django? - PullRequest
1 голос
/ 31 марта 2012

Использование Django 1.3 с python 2.7, тестовый пример:

# coding=utf-8
from __future__ import unicode_literals, print_function, division
from django.test import TestCase

class SetContextWordsTests(TestCase):
    def test_utf8_output(self):
    msg = "你好"
    self.fail(msg)

Дает мне вывод:

AssertionError: \u4f60\u597d

Хотелось бы увидеть:

AssertionError: 你好

Терминал поддерживает utf-8, а utf-8 печатается без экранирования повсюду, исключая выход из тестов.

  • Я пытался сделать self.fail (msg.encode ('utf-8')), но это привело к UnicodeDecodeError.
  • Я пытался установить DEFAULT_CHARSET и TESTING_CHARSET, но они не дают эффекта.

Что мне нужно изменить, чтобы получить этот вывод?

...