tg-me.com/pyHints/717
Last Update:
حدود ۲ سال پیش این موقع یک پروژه بکند رو کار کردیم که همون زمان ۲ قسمت داشت (من مدیر تیم توسعه دهنده این پروژه بودم).
بخشی از پروژه که با Fastapi
زده شده بود و بخش دیگری که قرار بود با Django
شروع بشه.
توی شروع خیلی استاندارد سازی و داینامیک بودن پروژه مدنظرم بود، برای همین دوتا از تصمیماتی که گرفتم اینها بود :
۱- تمامی تستها؛ با پکیج requests
باشه.
۲- همهی endpoint
های مربوط به create
, update
بجای بررسی مستقیم با دیتابیس از طریق درخواست دیتا با Get detail
بررسی بشه که درست توی دیتابیس هست یا نه.
اون زمان سر این ۲تا خیلی جنگیدم، که تغییر نکنه و حتماً رعایت بشه.
امروز مدیرعامل شرکت برای یک پروژه دیگر باهام تماس گرفت؛ توی meet ایی که داشتیم، مدیر فنی وقتی متوجه شد اون پروژه کار من بوده شاید بیش از ۱۰۰ بار تشکر کرد.
چرا ؟
چون پروژه از FastApi, Django
رفته بود روی Golang
و بجای Postgres
ایی که سمت خودشون باشه از Self-Hosted database
های شرکت کارفرما استفاده شده بود.
تصمیم اولم کمک کرده بود با وجود زمان کوتاه برای جابجایی به Golang
و فشار شرکت کارفرما مبنی بر سرعت بخشیدن به قضیه.
نیازی به تغییر تستها نداشته باشند (۹۰٪ هیچی رو تغییر ندادند ولی دقیقش رو نپرسیدم).
و تصمیم دوم؛ باعث شده بود بتونند به راحتی دیتابیس عوض کنند، یا حتی کدهای دپلوی شده رو تست بیگرند.
توی @pyhints قبلاً اشاره کردم به این موضوع؛ خواستم دوباره بگم که اگر درآینده تغییر فریمورک یا ابزار میبینید توی Integration Test
ها تا جایی که میشه تستهارو از ابزارها و فریمورک جدا کنید.
BY Python Hints
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/pyHints/717