فصل ۱۳.
تست
و در نهایت به موضوع تست میرسیم.
مانند ساختاردهی و سازماندهی کد برنامه شما، هیچ روش واحد ‘درستی’ برای ساختاردهی و سازماندهی تستهای خود در Go وجود ندارد. اما برخی قراردادها، الگوها و بهترین شیوهها وجود دارد که میتوانید دنبال کنید.
در این بخش میخواهیم تستهایی برای انتخابشدهای از کد در برنامه خود اضافه کنیم، با هدف نشان دادن نحو کلی برای ایجاد تستها و نشان دادن برخی الگوهایی که میتوانید در طیف گستردهای از برنامهها دوباره استفاده کنید.
یاد خواهید گرفت:
- تست واحد و زیرتستها مبتنی بر جدول.
- تست handlerها و میدلورهای HTTP با
httptest. - تست end-to-end روی مسیرها و handlerها.
- سفارشیسازی اجرای تستها با flag و متغیر محیطی.
- Mock کردن وابستگیها برای تستهای واحد.
- تست فرمهای HTML محافظتشده با CSRF.
- تست یکپارچگی با پایگاه داده MySQL.
- پروفایلینگ پوشش تست.