tgoop.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
Share with your friend now:
tgoop.com/pyHints/717
