Telegram Group & Telegram Channel
فیکسچر (fixure) در جنگو

از لینکدین Amir Hossein Khazaei

فیکسچر چیه؟
فیکسچر یه جور داده‌ی از پیش تعریف شده‌س که قبل از اجرای تست‌هامون به دیتابیس اضافه میشه. این داده‌ها میتونن هر چیزی باشن؛ از یه کاربر ساده گرفته تا یه محصول پیچیده توی فروشگاه آنلاینمون.

چرا بهش نیاز داریم؟

1️⃣ تست‌های دقیق‌تر: با داشتن داده‌های مشخص، می‌تونیم تست‌های دقیق‌تری بنویسیم و مطمئن بشیم که همه چیز طبق انتظار کار می‌کنه.

2️⃣ تست‌های سریع‌تر: به جای اینکه هر بار قبل از اجرای تست‌ها، داده‌های مورد نیازمون رو به صورت دستی وارد دیتابیس کنیم، با استفاده از فیکسچر این کار رو یک بار انجام میدیم و در تست‌های بعدی از همون داده‌ها استفاده می‌کنیم.

3️⃣ تکرارپذیری تست‌ها: با استفاده از فیکسچر، می‌تونیم مطمئن باشیم که هر بار که تست‌هامون رو اجرا می‌کنیم، نتیجه یکسانی خواهیم داشت.

ساختن یه فیکسچر
برای ساختن یه فیکسچر، یه فایل با پسوند json یا yaml ایجاد می‌کنیم و داده‌های مورد نظرمون رو به صورت ساخت‌یافته در اون تعریف می‌کنیم.

دستورات لازم و ساخت و لود کردن فیکسچر
1️⃣ ساختن یه فیکسچر با دستور dumpdata
دستور dumpdata بهت اجازه میده که داده‌های موجود در دیتابیس رو به صورت یک فایل JSON یا YAML خروجی بگیری. این فایل خروجی رو میتونی به عنوان فیکسچر استفاده کنی.
2️⃣ استفاده از فیکسچر با دستور loaddata
دستور loaddata بهت اجازه میده که داده‌های موجود در یک فایل فیکسچر رو به دیتابیس اضافه کنی.

مثال عملی / من کجا باهاش مواجه شدم؟
اضافه کردن شهر ها و استان های ایران به دیتابیس ، که بدیهیه که نمیخوام یکی یکی شهر هارو اضافه کنم😃 توی شرکت پلتفرم حقوقی ترازو که کار میکنم ، قراره لیست شهر هارو به کاربر نمایش بدیم
پس باید از یک جایی دیتای شهرهارو بگیرم و به دیتایس اضافه کنم.

⭕️ نکات کلیدی فیکسچر به زبان ساده
ساختار فیکسچر: فیکسچرت باید شبیه به همون چیزی باشه که توی دیتابیس داری. مثلاً اگه یه مدل محصول داری، فیکسچرت هم باید یه محصول رو تعریف کنه.
اسم‌گذاری فیکسچر: به فیکسچرت یه اسم بامعنا بده تا بفهمی توش چه داده‌هایی داری. مثلاً city.json یعنی توش اطلاعات شهرها هست.
مدیریت فیکسچر: وقتی تست‌های زیادی می‌نویسی، باید یه جوری فیکسچرهات رو مرتب کنی تا گم نشی. می‌تونی از فولدرهای مختلف یا ابزارهای مخصوص استفاده کنی.


جمع‌بندی
فیکسچر یه ابزار خیلی خفنه که بهت کمک می‌کنه تست‌های بهتری بنویسی. با فیکسچر، می‌تونی داده‌های از پیش تعریف شده‌ای رو به دیتابیس اضافه کنی و تست کنی که همه چیز درست کار می‌کنه. انگار داری یه محیط آزمایشی برای برنامه‌ت می‌سازی.



tg-me.com/djangolearn_ir/1041
Create:
Last Update:

فیکسچر (fixure) در جنگو

از لینکدین Amir Hossein Khazaei

فیکسچر چیه؟
فیکسچر یه جور داده‌ی از پیش تعریف شده‌س که قبل از اجرای تست‌هامون به دیتابیس اضافه میشه. این داده‌ها میتونن هر چیزی باشن؛ از یه کاربر ساده گرفته تا یه محصول پیچیده توی فروشگاه آنلاینمون.

چرا بهش نیاز داریم؟

1️⃣ تست‌های دقیق‌تر: با داشتن داده‌های مشخص، می‌تونیم تست‌های دقیق‌تری بنویسیم و مطمئن بشیم که همه چیز طبق انتظار کار می‌کنه.

2️⃣ تست‌های سریع‌تر: به جای اینکه هر بار قبل از اجرای تست‌ها، داده‌های مورد نیازمون رو به صورت دستی وارد دیتابیس کنیم، با استفاده از فیکسچر این کار رو یک بار انجام میدیم و در تست‌های بعدی از همون داده‌ها استفاده می‌کنیم.

3️⃣ تکرارپذیری تست‌ها: با استفاده از فیکسچر، می‌تونیم مطمئن باشیم که هر بار که تست‌هامون رو اجرا می‌کنیم، نتیجه یکسانی خواهیم داشت.

ساختن یه فیکسچر
برای ساختن یه فیکسچر، یه فایل با پسوند json یا yaml ایجاد می‌کنیم و داده‌های مورد نظرمون رو به صورت ساخت‌یافته در اون تعریف می‌کنیم.

دستورات لازم و ساخت و لود کردن فیکسچر
1️⃣ ساختن یه فیکسچر با دستور dumpdata
دستور dumpdata بهت اجازه میده که داده‌های موجود در دیتابیس رو به صورت یک فایل JSON یا YAML خروجی بگیری. این فایل خروجی رو میتونی به عنوان فیکسچر استفاده کنی.
2️⃣ استفاده از فیکسچر با دستور loaddata
دستور loaddata بهت اجازه میده که داده‌های موجود در یک فایل فیکسچر رو به دیتابیس اضافه کنی.

مثال عملی / من کجا باهاش مواجه شدم؟
اضافه کردن شهر ها و استان های ایران به دیتابیس ، که بدیهیه که نمیخوام یکی یکی شهر هارو اضافه کنم😃 توی شرکت پلتفرم حقوقی ترازو که کار میکنم ، قراره لیست شهر هارو به کاربر نمایش بدیم
پس باید از یک جایی دیتای شهرهارو بگیرم و به دیتایس اضافه کنم.

⭕️ نکات کلیدی فیکسچر به زبان ساده
ساختار فیکسچر: فیکسچرت باید شبیه به همون چیزی باشه که توی دیتابیس داری. مثلاً اگه یه مدل محصول داری، فیکسچرت هم باید یه محصول رو تعریف کنه.
اسم‌گذاری فیکسچر: به فیکسچرت یه اسم بامعنا بده تا بفهمی توش چه داده‌هایی داری. مثلاً city.json یعنی توش اطلاعات شهرها هست.
مدیریت فیکسچر: وقتی تست‌های زیادی می‌نویسی، باید یه جوری فیکسچرهات رو مرتب کنی تا گم نشی. می‌تونی از فولدرهای مختلف یا ابزارهای مخصوص استفاده کنی.


جمع‌بندی
فیکسچر یه ابزار خیلی خفنه که بهت کمک می‌کنه تست‌های بهتری بنویسی. با فیکسچر، می‌تونی داده‌های از پیش تعریف شده‌ای رو به دیتابیس اضافه کنی و تست کنی که همه چیز درست کار می‌کنه. انگار داری یه محیط آزمایشی برای برنامه‌ت می‌سازی.

BY جنگولرن


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/djangolearn_ir/1041

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

That growth environment will include rising inflation and interest rates. Those upward shifts naturally accompany healthy growth periods as the demand for resources, products and services rise. Importantly, the Federal Reserve has laid out the rationale for not interfering with that natural growth transition.It's not exactly a fad, but there is a widespread willingness to pay up for a growth story. Classic fundamental analysis takes a back seat. Even negative earnings are ignored. In fact, positive earnings seem to be a limiting measure, producing the question, "Is that all you've got?" The preference is a vision of untold riches when the exciting story plays out as expected.

Telegram hopes to raise $1bn with a convertible bond private placement

The super secure UAE-based Telegram messenger service, developed by Russian-born software icon Pavel Durov, is looking to raise $1bn through a bond placement to a limited number of investors from Russia, Europe, Asia and the Middle East, the Kommersant daily reported citing unnamed sources on February 18, 2021.The issue reportedly comprises exchange bonds that could be converted into equity in the messaging service that is currently 100% owned by Durov and his brother Nikolai.Kommersant reports that the price of the conversion would be at a 10% discount to a potential IPO should it happen within five years.The minimum bond placement is said to be set at $50mn, but could be lowered to $10mn. Five-year bonds could carry an annual coupon of 7-8%.

telegram from pl


Telegram جنگولرن
FROM USA