DRF에서 테스트 진행하기

Category
Published
August 13, 2024
Last updated
Last updated September 7, 2024
💡
이 포스트는 현재 작성중입니다

테스트에서 인메모리 파일 스토리지 사용하기

Django 4.2부터 django.core.files.storage.InMemoryStorage가 추가되었습니다.
@override_settings(DEFAULT_FILE_STORAGE="django.core.files.storage.InMemoryStorage") class SimpleTestCase(APITestCase): def storage_related_test(self): ~~~
위와 같이 사용하면 실제 파일 시스템 스토리지나 사용하고 있는 스토리지에 영향을 미치지 않고 빠르게 테스트를 실행할 수 있습니다.

가짜 이미지 파일 사용하기

이미지 생성 없이 base64와 SimpleUploadedFile를 이용하여 빠르게 이미지가 필요한 테스트를 진행할 수 있습니다.
def test_image_something(self): # 테스트 이미지 생성 image_content = base64.b64decode( "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==" ) uploaded_file = SimpleUploadedFile( "test_thumbnail.png", image_content, content_type="image/png" ) response = self.client.post( reverse("image_api", {"image": uploaded_file}, format="multipart") )