On Nov 25, 10:56 pm, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote: > On Tue, 2008-11-25 at 20:47 +0900, Russell Keith-Magee wrote: > > On Tue, Nov 25, 2008 at 8:40 PM, Julien Phalip <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I've got a view which uses a different template depending on an input > > > parameter. For example: > > > > def my_view(request, theme): > > > ... > > > return render_to_response('my_app/%s/page.html' %s theme, {...}) > > > > I would like to write some tests for this view, but I couldn't find > > > any clean way to do so. So far, the only way I've found was to create > > > a fake folder in the app's templates: > > > > my_app/ > > > templates/ > > > my_app/ > > > test_blah/ > > > page.html > > > models.py > > > tests.py > > > views.py > > > > And then I can test the view by sending it the parameter 'test_blah'. > > > It works fine, but it means I have to ship my app with that dirty > > > "test_blah" folder. > > > > Is there any other way to proceed? > > > Check out django.contrib.auth.tests.views.py. The ChangePasswordTest > > does some fancy footwork during the setUp and tearDown to install some > > templates for testing purposes. You still need to ship the templates > > as part of your project tarball, but they don't need to be in a > > production-visible location - you can hide them away as part of the > > testing infrastructure. > > Another approach is to write a custom template loader that is used in > your test settings file. There's nothing to say a template loader has to > actually load a file. It has to return a template, given the name. You > can do that however you like. > > Regards, > Malcolm
Thanks also for this tip, Malcolm. Both approaches are quite elegant. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---