1
0
mirror of https://github.com/django/django.git synced 2025-06-14 16:09:12 +00:00

Refs #36435 -- Tidied tests for CaptureQueriesContext and assertNumQueries.

Avoided repeatedly templating the URL and hoisted Person creation to
setUpTestData in AssertNumQueriesContextManagerTests to repeat the same
pattern as in CaptureQueriesContextManagerTests.
This commit is contained in:
Adam Johnson 2025-06-03 23:11:05 +01:00 committed by Sarah Boyce
parent 68c9f7e0b7
commit 9a3f3b8499

View File

@ -386,6 +386,7 @@ class CaptureQueriesContextManagerTests(TestCase):
@classmethod
def setUpTestData(cls):
cls.person_pk = str(Person.objects.create(name="test").pk)
cls.url = f"/test_utils/get_person/{cls.person_pk}/"
def test_simple(self):
with CaptureQueriesContext(connection) as captured_queries:
@ -418,18 +419,18 @@ class CaptureQueriesContextManagerTests(TestCase):
def test_with_client(self):
with CaptureQueriesContext(connection) as captured_queries:
self.client.get("/test_utils/get_person/%s/" % self.person_pk)
self.client.get(self.url)
self.assertEqual(len(captured_queries), 1)
self.assertIn(self.person_pk, captured_queries[0]["sql"])
with CaptureQueriesContext(connection) as captured_queries:
self.client.get("/test_utils/get_person/%s/" % self.person_pk)
self.client.get(self.url)
self.assertEqual(len(captured_queries), 1)
self.assertIn(self.person_pk, captured_queries[0]["sql"])
with CaptureQueriesContext(connection) as captured_queries:
self.client.get("/test_utils/get_person/%s/" % self.person_pk)
self.client.get("/test_utils/get_person/%s/" % self.person_pk)
self.client.get(self.url)
self.client.get(self.url)
self.assertEqual(len(captured_queries), 2)
self.assertIn(self.person_pk, captured_queries[0]["sql"])
self.assertIn(self.person_pk, captured_queries[1]["sql"])
@ -437,6 +438,11 @@ class CaptureQueriesContextManagerTests(TestCase):
@override_settings(ROOT_URLCONF="test_utils.urls")
class AssertNumQueriesContextManagerTests(TestCase):
@classmethod
def setUpTestData(cls):
cls.person_pk = str(Person.objects.create(name="test").pk)
cls.url = f"/test_utils/get_person/{cls.person_pk}/"
def test_simple(self):
with self.assertNumQueries(0):
pass
@ -459,17 +465,15 @@ class AssertNumQueriesContextManagerTests(TestCase):
raise TypeError
def test_with_client(self):
person = Person.objects.create(name="test")
with self.assertNumQueries(1):
self.client.get(self.url)
with self.assertNumQueries(1):
self.client.get("/test_utils/get_person/%s/" % person.pk)
with self.assertNumQueries(1):
self.client.get("/test_utils/get_person/%s/" % person.pk)
self.client.get(self.url)
with self.assertNumQueries(2):
self.client.get("/test_utils/get_person/%s/" % person.pk)
self.client.get("/test_utils/get_person/%s/" % person.pk)
self.client.get(self.url)
self.client.get(self.url)
@override_settings(ROOT_URLCONF="test_utils.urls")