faker 사용해서 테스트

so_doit·2022년 3월 31일
0

TIL

목록 보기
25/26

Faker

프로젝트를 진행하다가 테스트 용도로 데이터가 필요한 경우가 있다. 이때 python에서는 더미 데이터를 쉽게 생성할 수 있게 도와주는 Faker 라이브러리를 제공한다.

오늘 이거에 대해 다 알았다 이런건 아니고 내가 오늘 사용한 건 Faker의 빙산의 일각일 뿐이니까 공식 문서에서 필요한걸 찾아서 사용하면 될 것 같다.

Faker 사용

설치

pip install Faker

사용 예시

from faker import Faker

fake = Faker()

# 랜덤 이메일 값 생성
email = fake.email()

# 랜덤 이름 생성
name = fake.name()

위의 방법처럼 사용하면 된다.

만약 한국어로 필요하다면 Faker 인스턴스를 생성할 때 "ko_KR"을 넘겨주면 된다.
fake = Faker("ko_KR")

테스트에 faker 사용

엑셀에 유저 정보를 넣어주기 위해서 faker를 사용해서 했다.

def test_make_xlsx_file(self):
	make_xlsx_file(2)

    data = {'clientID': 'test'}
    file = {'fileToUpload': open('test/userlist_make.xlsx', 'rb')}
    
    req = requests.post('url', files=file, data=data)
    self.assertEqual(200, req.status_code)
    
def make_xlsx_file(num):
	fake = Faker()
    
    wb = openpyxl.Workbook()
    new_file = 'test/userlist_make.xlsx'
    
    sheet1 = wb.active
    
    sheet1['A1'].value = 'name'
    sheet1['B1'].value = 'surname'
    sheet1['C1'].value = 'email'
    sheet1['D1'].value = 'password'

    for i in range(2, 2 + num):
        sheet1['A' + str(i)].value = fake.first_name()
        sheet1['B' + str(i)].value = fake.last_name()
        sheet1['C' + str(i)].value = fake.email()
        sheet1['D' + str(i)].value = '1234'

    wb.save(new_file)

profile
백엔드 개발자

0개의 댓글