Skip to content

Instantly share code, notes, and snippets.

@keturn
Last active December 31, 2015 16:39
Show Gist options
  • Save keturn/8015445 to your computer and use it in GitHub Desktop.
Save keturn/8015445 to your computer and use it in GitHub Desktop.
dangjo view tests and URLs
from django.test import TestCase
from django.conf.urlresolvers impor resolve, reverse
from myviews import ThingView
class TestThingView(TestCase):
def setUp(self):
url_name = 'thing_view'
kwargs = {'pk': '5'}
self.url = reverse(url_name, kwargs=kwargs)
resolved = resolve(self.url)
# Option 1: Check url_name didn't flip in reverse/resolve round-trip.
self.assertEqual(url_name, resolved.url_name, "reversed URL does not resolve as expected")
# Option 2: Check the view callback function. Have to check __name__ in case of View.as_view() wrapper shenanigans.
self.assertEqual(ThingView.__name__, resolved.func.__name__)
def test_thing(self):
response = self.client.get(self.url)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment