Skip to content

Instantly share code, notes, and snippets.

@davidbgk
Last active December 17, 2015 19:29
Show Gist options
  • Save davidbgk/5660851 to your computer and use it in GitHub Desktop.
Save davidbgk/5660851 to your computer and use it in GitHub Desktop.
An attempt to create generic class-based tests for Django
class GenericViewTest(TestCase):
def setUp(self):
self.client = Client()
def assertGet(self, num_queries):
with self.assertNumQueries(num_queries):
response = self.client.get(self.url)
self.assertEqual(response.status_code, 200)
self.context = response.context
def assertContext(self, key, value):
self.assertTrue(key in self.context)
self.assertEqual(self.context[key], value)
def assertContextLength(self, key, length):
self.assertTrue(key in self.context)
self.assertEqual(len(self.context[key]), length)
class DocumentListTest(GenericViewTest):
fixtures = ['initial_data.json']
url = reverse("document_list")
model = Document
def test_document_number(self):
self.assertGet(4)
self.assertContext('documents_active', True)
self.assertContextLength('document_list', 20)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment