Эта статья - https://www.dev2qa.com/how-to-use-django-test-client-to-test-views/ - предполагает, что мы можем получить доступ к response.content для получения содержимого ответа после отправки запроса на публикацию. Однако я только что создал мертвый простой проект и приложение, чтобы проверить это, но я просто получаю пустую строку байтов. Чего мне не хватает?
Модели -
class Note(models.Model):
text = models.CharField(max_length=30)
Просмотры -
class CreateNote(CreateView):
model = Note
fields = '__all__'
success_url = reverse_lazy("index")
def index(request):
return HttpResponse("Hello!")
Тесты -
class NoteTest(TestCase):
def test_createNote(self):
response = self.client.post('/notes/create', {'text': 'hello world!'})
print(response.content) # just returns b''
Статья не права. Или статья не предполагает перенаправления. Таким образом, ответ таков:
def test_createNote(self):
response = self.client.post('/notes/create', {'text': 'hello world!'}, follow=True)
print(response.content)