فصل ۱۳.
تست
و بالاخره به موضوع تست میرسیم.
مانند ساختاردهی و سازماندهی کد برنامه شما، هیچ راه "درست" واحدی برای ساختاردهی و سازماندهی تستهای شما در Go وجود ندارد. اما برخی از کنوانسیونها، الگوها و بهترین روشها وجود دارد که میتوانید دنبال کنید.
در این بخش، ما تستهایی برای بخشی از کد در برنامه خود اضافه خواهیم کرد، با هدف نشان دادن نحو کلی برای ایجاد تستها و نشان دادن برخی الگوهایی که میتوانید در طیف وسیعی از برنامهها استفاده کنید.
شما یاد خواهید گرفت:
- چگونه تستهای واحد و زیرتستهای جدولمحور در Go ایجاد و اجرا کنید.
- چگونه تست واحد برای هندلرهای HTTP و میانافزارهای خود انجام دهید.
- چگونه تستهای "انتهای به انتها" برای مسیرها، میانافزارها و هندلرهای برنامه وب خود انجام دهید.
- چگونه ماکهایی از مدلهای پایگاه داده خود ایجاد کنید و از آنها در تستهای واحد استفاده کنید.
- یک الگو برای تست ارسال فرمهای HTML محافظتشده با CSRF .
- چگونه از یک نمونه تست MySQL برای انجام تستهای یکپارچهسازی استفاده کنید.
- چگونه به راحتی پوشش کد برای تستهای خود را محاسبه و پروفایل کنید.
تست (Testing)
در این فصل، با تست نرمافزار (Software Testing) در Go آشنا میشویم. این شامل تست واحد (Unit Testing)، تست یکپارچهسازی (Integration Testing) و تست انتها به انتها (End-to-End Testing) میشود.
همچنین با شبیهسازی وابستگیها (Mocking Dependencies) و پوشش کد (Code Coverage) آشنا خواهیم شد.