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

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

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

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

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

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

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

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

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

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

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


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



tgoop.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 جنگولرن


Share with your friend now:
tgoop.com/djangolearn_ir/1041

View MORE
Open in Telegram


Telegram News

Date: |

Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Invite up to 200 users from your contacts to join your channel
from us


Telegram جنگولرن
FROM American