کتاب تسلط بر تستنویسی جامع در Axum: از یونیت تست تا تستهای یکپارچه با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
249,950 تومان
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تسلط بر تستنویسی جامع در Axum: از یونیت تست تا تستهای یکپارچه
موضوع کلی: برنامهنویسی سیستم با زبان Rust
موضوع میانی: توسعه و تست وبسرویسهای Axum
📋 سرفصلهای دوره
- 1. مبانی تستنویسی در زبان Rust
- 2. معرفی فریمورک Axum و معماری آن
- 3. استراتژیهای کلی تست در اپلیکیشنهای وب
- 4. تستهای واحد (Unit Tests) برای Handlerها
- 5. جداسازی منطق تجاری از لایه Transport
- 6. تست توابع کمکی و Logicهای داخلی
- 7. استفاده از `#[cfg(test)]` برای بهینهسازی کامپایل
- 8. تست کردن Extractorهای سفارشی در Axum
- 9. کار با `tower::Service` برای شبیهسازی درخواستها
- 10. تست کردن پاسخهای HTTP و کدهای وضعیت (Status Codes)
- 11. بررسی بدنه پاسخها (Response Bodies) و فرمت JSON
- 12. تست کردن مدیریت خطاها و Error Handlerها
- 13. تکنیکهای Mocking برای وابستگیهای خارجی
- 14. استفاده از کتابخانه `mockall` در محیط Axum
- 15. طراحی Traitها برای تسهیل تستپذیری (Testability)
- 16. تزریق وابستگی (Dependency Injection) در Stateهای Axum
- 17. تست کردن Middlewareهای سفارشی
- 18. شبیهسازی لایههای Tower در تستها
- 19. تست احراز هویت و مجوزها (Auth & Authorization)
- 20. کار با `axum::test_helper` و ابزارهای مشابه
- 21. مبانی تستهای یکپارچه (Integration Tests)
- 22. ساختار پوشه `tests/` در پروژههای Rust
- 23. راه اندازی سرور تست در محیط ایزوله
- 24. استفاده از `hyper` برای ارسال درخواستهای واقعی
- 25. مدیریت پورتهای داینامیک در تستهای موازی
- 26. استراتژیهای مدیریت دیتابیس در تستهای یکپارچه
- 27. استفاده از دیتابیسهای In-memory برای سرعت بیشتر
- 28. مدیریت تراکنشها (Transactions) برای پاکسازی دادهها
- 29. استفاده از Docker و Testcontainers برای دیتابیسهای واقعی
- 30. تست جریانهای کامل (End-to-End Flow)
- 31. تست سناریوهای Happy Path
- 32. تست سناریوهای Edge Case و ورودیهای نامعتبر
- 33. تست همزمانی (Concurrency) و Race Conditions در Handlerها
- 34. کار با `tokio::test` و مدیریت Runtimeها
- 35. تست کردن WebSocketها در Axum
- 36. تست آپلود فایل و دادههای Multipart
- 37. تست کردن Headerهای سفارشی و Cookieها
- 38. بهینهسازی سرعت اجرای تستها
- 39. استفاده از `cargo nextest` برای اجرای سریعتر
- 40. پیکربندی CI/CD برای اجرای خودکار تستها
- 41. تولید گزارشهای پوشش کد (Code Coverage) با `grcov`
- 42. تحلیل پوشش تستها و شناسایی نقاط کور
- 43. تستهای رگرسیون برای جلوگیری از باگهای تکراری
- 44. بهترین الگوهای نامگذاری تستها در Rust
- 45. مدیریت متغیرهای محیطی (Environment Variables) در تستها
- 46. تست کردن Rate Limiting و محدودیتهای دسترسی
- 47. کار با `tower-http` در محیط تست
- 48. تست کردن کشینگ (Caching) و پاسخهای ذخیره شده
- 49. استراتژیهای تست برای APIهای RESTful
- 50. تست اعتبارسنجی ورودیها با `serde`
- 51. دیباگ کردن تستهای شکستخورده در Rust
- 52. استفاده از `tracing` برای ردیابی خطاها در تستها
- 53. تست کردن Interactionها با سرویسهای خارجی (External APIs)
- 54. استفاده از `wiremock` برای شبیهسازی APIهای خارجی
- 55. تست سناریوهای Timeout و Network Failure
- 56. تست امنیت API و جلوگیری از حملات رایج
- 57. بررسی نهایی معماری تستپذیر در Axum
تگها:
API Testing
Axum
Backend Development
Integration Testing
Mocking
Rust
Rust Lang
Rust Web Development
Software Testing
TDD
Test Driven Development
Tokio
Tower Service
Unit Testing
Web Framework
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.