Performance: Testing views with Client
MEDIUM IMPACT
This affects the speed and efficiency of backend response testing, impacting development feedback loops and test suite runtime.
from django.test import TestCase class MyViewTests(TestCase): def test_view_pagination(self): pages_to_test = [1, 2, 3] for page in pages_to_test: response = self.client.get(f'/my-view/?page={page}') self.assertEqual(response.status_code, 200)
from django.test import TestCase class MyViewTests(TestCase): def test_view(self): response = self.client.get('/my-view/') self.assertEqual(response.status_code, 200) # Making multiple client calls inside a loop for i in range(100): self.client.get(f'/my-view/?page={i}')
| Pattern | Number of Requests | Test Runtime | Server Load | Verdict |
|---|---|---|---|---|
| Multiple client.get calls in large loops | 100+ | High (several seconds) | High | [X] Bad |
| Targeted client.get calls with limited pages | 3 | Low (under 1 second) | Low | [OK] Good |