Django_test에서 test image 생성하기

Posted on 2021-08-30 by GKSRUDTN99
Django Rest Framework DRF Test Driven Development

TDD에서 이미지 업로드 등의 테스트를 해야할 상황이 있을 수 있는데, 이 때 사용할 가상의 이미지 파일을 생성하는 방법이다.

1. import os

2. 이미지 파일을 생성하는 코드 작성

def generate_photo_file(self):
        image = Image.new('RGBA', size=(100, 100), color=(155, 0, 0))
        file = BytesIO(image.tobytes())
        file.name = 'test.png'
        file.seek(0)
        return file

만약, 이 이미지를 Base_64 String으로 변환해야 한다면, 다음과 같이 작성한다.

import base64
...

def generate_photo_file(self):
        file = io.BytesIO()
        image = Image.new('RGBA', size=(100, 100), color=(155, 0, 0))
        image.save(file, 'png')
        img_str = base64.b64encode(fiie.getvalue())
        return img_str