Używam narzędzi do tłumaczenia niektórych ciągów z mojej aplikacji. Kod wygląda następująco:Jak wyłączyć tłumaczenia podczas testów jednostkowych w django?
from django.utils.translation import ugettext as _
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
Następnie piszę testy jednostkowe za pomocą Django test client. Testy te wysyłają żądanie do widoku i porównują zwróconą treść.
Jak mogę wyłączyć tłumaczenia podczas uruchamiania testów jednostkowych? Zamierzam to zrobić:
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.")
To może być dobry pomysł, czy masz sugestie, jak to osiągnąć? –
Spróbuj tego: http://stackoverflow.com/a/9843158/15369 –
FYI, twoja odpowiedź nie działa, z powodów, które wyjaśniłem w mojej własnej odpowiedzi. Fajna próba, ale po prostu nie działa. –