Django 国際化ツールを使用して、アプリケーションからいくつかの文字列を翻訳しています。コードは次のようになります。
from django.utils.translation import ugettext as _
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
次に、 Django テスト クライアントを使用して単体テストを作成しています。これらのテストは、ビューにリクエストを送信し、返されたコンテンツを比較します。
単体テストの実行中に翻訳を無効にするにはどうすればよいですか? 私はこれを行うことを目指しています:
class FoobarTestCase(unittest.TestCase):
def setUp(self):
# Do something here to disable the string translation. But what?
# I've already tried this, but it didn't work:
django.utils.translation.deactivate_all()
def testFoobar(self):
c = Client()
response = c.get("/foobar")
# I want to compare to the original string without translations.
self.assertEquals(response.content.strip(), "Welcome to my site.")