خیلی وقتها پیش میاد که بخوایم یه تستی رو روی یک جدول یا مجموعه ای از اطلاعات انجام بدیم. مهم هم یست چه اطلاعاتی. فقط می خوایم که یه سری فیلدهای مشخص داشته باشه با تعداد زیادی دیتا که بتونیم تست رو انجام بدیم. تولید جدول برای تست می تونه یک راه حال باشه.
هرچند مجموعه دیتا زیاد وجود داره ولی پیدا کردن اطلاعاتی که با خواسته ما بخونه می تونه سخت باشه. پیدا کردن مجموعه ای که الزامات فرمت خاصی از نام و نام خانوادگی، آدرس ایمیل و اسم شرکت و غیره توش مثل خواسته ما باشه.
Python Testdata دقیقا برای اینکار ساخته شده. با این اسکریپت که به زبان پایتون نوشته شده می تونیم مجموعه ای از اطلاعات رو با فیلدهای خاص تولید بکنیم.
1 | https://github.com/arieb/python-testdata |
اطلاعات تولید شده فارغ از مشخصات یک دیتابیس خاص است و می تواند در دیتابیس های NoSQL نیز استفاده شود. البته امکان تولید اطلاعات متناسب با دیتابیس های مختلف نیز وجود دارد.
مثال زیر نحوه تولید جدولی با فیلدهای id، firstname، lastname، address، age و gender است. در پایان هم تعداد ردیف ها رو اعلام می کنیم که در اینجا ۱۰ است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import testdata class Users(testdata.DictFactory): id = testdata.CountingFactory(10) firstname = testdata.FakeDataFactory('firstName') lastname = testdata.FakeDataFactory('lastName') address = testdata.FakeDataFactory('address') age = testdata.RandomInteger(10, 30) gender = testdata.RandomSelection(['female', 'male']) for user in Users().generate(10): # let say we only want 10 users print user # {'firstname': 'Toni', 'lastname': 'Schaden', 'gender': 'female', 'age': 18, 'address': '0641 Homenick Hills\nSouth Branson, RI 70388', 'id': 10} # {'firstname': 'Gene', 'lastname': 'Greenfelder', 'gender': 'male', 'age': 17, 'address': '292 Loy Lights Suite 328\nFritzfort, IN 73914', 'id': 11} # or more likely you'd want to insert them into your favorite database (MongoDB, ElasticSearch, ..) |