Estoy usando Django Internationalization herramientas para traducir algunas cadenas de mi aplicación. El código es el siguiente:¿Cómo deshabilitar las traducciones durante las pruebas unitarias en django?
from django.utils.translation import ugettext as _
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
Entonces, estoy escribiendo pruebas unitarias utilizando el Django test client. Estas pruebas hacen una solicitud a la vista y comparan los contenidos devueltos.
¿Cómo puedo deshabilitar las traducciones al ejecutar las pruebas unitarias? Estoy con el objetivo de hacer esto:
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.")
Podría ser una buena idea, ¿tiene alguna sugerencia sobre cómo lograrlo? –
Pruebe esto: http://stackoverflow.com/a/9843158/15369 –
FYI, su respuesta no funciona, por las razones que he explicado en mi propia respuesta. Buen intento, sin embargo, pero simplemente no funciona. –