테스트 데이터 어떻게 만들고 계신가요? 정해진 규격에 맞춰 임의의 데이터를 넣은 데이터를 한두개 만들어 두고 복사해서 사용하지는 않으신가요? 데이터 만들기도 힘들고, 혼자서 만든 데이터는 나중보면 그 데이터가 그 데이터 같고, 그렇습니다. 데이터 만드는 것은 시간과 노력이 상당히 필요한 일입니다.
아마 지금 소개할 JSON GENERATOR( https://next.json-generator.com/ )를 만든사람도 비슷한 생각을 했던 것 같습니다. Json형식의 데이터를 생성해주는 데인데, 마구 잡이로 생성하는게 아니라 의미가 있는 데이터를 만들 수 있습니다. 가령, 성별에 따른 이름이라던가, 도메인 같은 데이터를 지정하면 해당하는 형식의 데이터가 생성되는 겁니다.
생성되는 데이터는 불리언, 도시, 회사, 지역, 날짜, 도메인, 이름, 유리수, 정규분포, guid, 인덱스, 정수, 임의의 문장(lorem Ipsum), 몽고DB의 ObjectID, 전화번호, 임의의 난수, 범위, 특정 문자열 반복, 주, 거리이 있습니다. 도시나, 지역, 거리명은 미국의 데이터를 생성하는게 조금 아쉽지만, 이 사이트를 이용하면 손으로 만들 때보다, 더 그럴듯한 데이터를 빠르게 만들 수 있습니다. 그리고 원하는 데이터를 직접 만들 수 있도록 함수도 사용할 수 있습니다.
가령 회원가입 기능을 테스트 한다고 할 때, 임의의 입력값은 다음처럼 만들 수 있습니다.
[
{
'repeat(5, 10)': {
picture: 'http://placehold.it/32x32',
age: '{{integer(20, 40)}}',
name: {
first: '{{firstName()}}',
last: '{{surname()}}'
},
company: '{{company().toUpperCase()}}',
email(tags) {
return `${this.name.first}.${this.name.last}@${this.company}${tags.domainZone()}`.toLowerCase();
},
phone: '+1 {{phone()}}',
address: '{{integer(100, 999)}} {{street()}}, {{city()}}, {{state()}}, {{integer(100, 10000)}}',
기타: '{{lorem(1, "paragraphs")}}',
}
}
]
5번에서 10번 사이에서 반복하도록 만들어서 총 8 명의 데이터를 만들었습니다. 데이터에는 사진, 20~40세 사이의 나이, 이름, 회사, 이메일, 그리고 전화번호와 주소, 기타 인적사항을 적는 란이 있습니다.
[
{
"picture": "http://placehold.it/32x32",
"age": 26,
"name": {
"first": "Saunders",
"last": "Cruz"
},
"company": "FOSSIEL",
"email": "saunders.cruz@fossiel.org",
"phone": "+1 (840) 403-3809",
"address": "808 Celeste Court, Corinne, Palau, 9006",
"기타": "Sint excepteur non non nisi sit nostrud eu Lorem consequat eiusmod ex elit in. Sunt laborum Lorem reprehenderit ad. Laboris velit do ut laborum anim aliqua consectetur dolor."
},
{
"picture": "http://placehold.it/32x32",
"age": 21,
"name": {
"first": "Rich",
"last": "Klein"
},
"company": "SULTRAX",
"email": "rich.klein@sultrax.info",
"phone": "+1 (873) 450-2944",
"address": "142 Waldane Court, Vivian, Washington, 9948",
"기타": "Anim eiusmod voluptate sint laborum ea aute officia quis quis dolor laborum excepteur incididunt sunt. Minim aliquip et deserunt do. Ex veniam dolore ex id nisi reprehenderit et. Sit minim pariatur sunt veniam excepteur ullamco non occaecat reprehenderit ipsum. Aliqua voluptate ex consectetur voluptate id sunt commodo minim ea irure eiusmod eiusmod."
},
{
"picture": "http://placehold.it/32x32",
"age": 37,
"name": {
"first": "Deborah",
"last": "Alvarez"
},
"company": "ORBIFLEX",
"email": "deborah.alvarez@orbiflex.net",
"phone": "+1 (885) 600-3248",
"address": "686 Freeman Street, Sunriver, Illinois, 5731",
"기타": "Do irure fugiat amet ad culpa adipisicing laborum. Ullamco occaecat ex fugiat nostrud labore commodo exercitation amet aliquip. Do irure quis irure cillum nisi pariatur aliqua aute irure proident tempor tempor enim. Enim nisi proident nostrud anim nisi culpa aliquip velit nostrud irure labore adipisicing ullamco elit. Sint qui ex labore in sunt amet dolor tempor. Minim ipsum Lorem anim id. Est occaecat nisi duis do ex sint aliqua."
},
{
"picture": "http://placehold.it/32x32",
"age": 36,
"name": {
"first": "Kristy",
"last": "Michael"
},
"company": "ASSURITY",
"email": "kristy.michael@assurity.tv",
"phone": "+1 (930) 453-2240",
"address": "283 Will Place, Herlong, Maine, 2652",
"기타": "Quis reprehenderit adipisicing ullamco anim ex in cupidatat culpa eiusmod elit. Nostrud Lorem velit voluptate deserunt ex qui cupidatat nulla non incididunt nostrud sint ut. Ea pariatur do nulla est nulla dolor laboris quis ea fugiat minim laborum do id. Aute qui aute adipisicing labore minim adipisicing adipisicing nulla mollit elit tempor consectetur elit nulla. Quis mollit cupidatat aute eu velit aliquip mollit fugiat. Consequat tempor proident eiusmod ea esse duis."
},
{
"picture": "http://placehold.it/32x32",
"age": 25,
"name": {
"first": "Cohen",
"last": "Parsons"
},
"company": "PIVITOL",
"email": "cohen.parsons@pivitol.biz",
"phone": "+1 (958) 547-2601",
"address": "823 Pineapple Street, Nanafalia, Oregon, 4418",
"기타": "Adipisicing tempor quis deserunt consequat pariatur commodo. Nulla reprehenderit mollit nulla pariatur ipsum pariatur nostrud quis ullamco consequat Lorem fugiat tempor. Et adipisicing sit cupidatat occaecat ea ex et et sit incididunt ut sunt. Aliquip nulla mollit voluptate sint. Reprehenderit veniam anim Lorem esse. Quis aute proident aliquip enim. Cillum incididunt veniam sit sint veniam nostrud consequat id."
},
{
"picture": "http://placehold.it/32x32",
"age": 23,
"name": {
"first": "Lucille",
"last": "Duffy"
},
"company": "MAGNEMO",
"email": "lucille.duffy@magnemo.com",
"phone": "+1 (899) 441-3694",
"address": "788 Butler Place, Monument, Maryland, 7835",
"기타": "Voluptate ullamco nulla eu velit laboris commodo elit non consequat. Quis aute commodo voluptate aute commodo dolore amet ea aliquip amet nostrud sit. Fugiat adipisicing minim cupidatat et incididunt et ut labore nisi anim est deserunt. Ut nisi proident qui elit dolore aute velit do pariatur."
},
{
"picture": "http://placehold.it/32x32",
"age": 29,
"name": {
"first": "Moses",
"last": "Kidd"
},
"company": "DEMINIMUM",
"email": "moses.kidd@deminimum.co.uk",
"phone": "+1 (992) 477-3752",
"address": "560 Conklin Avenue, Waumandee, Wyoming, 1626",
"기타": "Aliquip quis fugiat mollit exercitation qui consequat enim irure cupidatat adipisicing dolor consequat aliqua ipsum. Occaecat laboris laboris magna consectetur id. Adipisicing officia est irure exercitation tempor nisi cillum. Sint laboris adipisicing reprehenderit veniam Lorem veniam excepteur."
},
{
"picture": "http://placehold.it/32x32",
"age": 34,
"name": {
"first": "Rene",
"last": "Gaines"
},
"company": "TERRAGEN",
"email": "rene.gaines@terragen.ca",
"phone": "+1 (823) 535-2993",
"address": "635 Meadow Street, Charco, Mississippi, 5192",
"기타": "Irure cillum ea id eiusmod eiusmod. Adipisicing quis dolore aute pariatur enim ad aliquip in duis adipisicing. Nisi laborum consequat laborum ut nostrud reprehenderit. Aliqua aliqua aliqua laboris duis quis cillum adipisicing excepteur est est deserunt in. Non enim deserunt officia laborum Lorem nisi officia Lorem aliquip nisi deserunt velit amet."
}
]
금방 만든 데이터 치곤 데이터 보면 그럴듯합니다. 혹시 나중 테스트 데이터가 필요할 때, 한번 사용해 보시면 좋을 것 같습니다.