کتاب Pragmatic Test-Driven Development in C# and .NET (توسعه عملی مبتنی بر آزمایش در سیشارپ و داتنت: با استفاده از ابزارها و کتابخانههای آشنا، کدهای مرتبط، مستند و با کیفیت بالا را با DDD بنویسید.) از جدیدترین منابع آموزش سیشارپ است که در 13 فصل به آموزش عملیاتی این زبان به همراه آزمایش و مستندات آن خواهد پرداخت.
در ادامه مقدمهای از کتاب Pragmatic Test-Driven Development in C# and .NET را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Pragmatic Test-Driven Development in C# and .NET:
به عنوان مشاور، با تیمهای زیادی در سازمانهای مختلف کار کردم. من تیمهایی را دیده ام که TDD انجام میدهند و تیمهایی را دیده ام که تست واحد را بدون TDD انجام میدهند. همچنین تیمهایی را دیدهام که فکر میکردند در حال انجام تست واحد هستند، اما در حال انجام تست یکپارچهسازی هستند و تیمهایی را دیدهام که هیچکدام را انجام نمیدهند! به عنوان یک انسان معمولی، من بر اساس شواهد تجربی شروع به شکلدهی به این باور کردم که تیمهای TDD موفقترین هستند، اما این به این دلیل نیست که آنها از TDD استفاده میکنند! TDD ناشی از داشتن اشتیاق است.
TDD تست واحد به علاوه اشتیاق است. تست واحد در برخی از تیمها تحمیل شده است، بنابراین، توسعهدهندگان باید آن را انجام دهند، اما TDD به ندرت تحمیل میشود و این به توسعه دهندگان بستگی دارد که آن را بر روی خود اجرا کنند. نیازی به گفتن نیست که توسعهدهندگان پرشور پروژههای با کیفیت تولید میکنند و پروژههای با کیفیت پتانسیل بیشتری برای موفقیت دارند.
TDD معمولاً با برخی یا همه جنبههای معماری طراحی دامنه محور (DDD) ترکیب میشود. بنابراین، مطمئن شدم که هم TDD و هم DDD را به صورت ترکیبی پوشش دادهام تا بتوانم مثالهای واقعی ارائه دهم. من همچنین میخواستم بازار امروز را که بین دو دسته پایگاهداده تقسیم میشود منعکس کنم، DBهای رابطهای و سندی، بنابراین این آزادی را در نظر گرفتم که یک فصل مثال برای هر کدام اضافه کنم و تفاوتها را در پیادهسازیهای تست واحد با هدف عملی نگه داشتن کتاب نشان دهم.
فریب اندازه کتاب را نخورید، زیرا نمودارها و تکه کدها باعث افزایش حجم کتاب میشوند. سعی کردم از تئوریهای قدیمی و غیرعملی دوری کنم تا کتاب را کوتاه کنم و به اصل مطلب بچسبم.
آزمون TDD و واحد در اکثر مشخصات شغلی مدرن، لازمه پروژههای آزمون مصاحبه و موضوع سوالات مصاحبه داغ است. اگر میخواهید درباره این موضوعات بیشتر بدانید و توسعهدهنده TDD شوید، به جای درستی آمدهاید.
بسیاری از کتابهای خوب دیگر در مورد TDD وجود دارد و هدف آنها توسعه دهندگان دات نت نیز هست، پس چرا این کتاب؟ در این کتاب، پیادهسازیهای عملی واقعی را با رفتن به دنیای DDD، DB های رابطه ای و DB های سند نشان میدهم. من درخت تصمیم ذهنیتی را که تمرینکنندگان هنگام انجام TDD استفاده میکنند، نشان میدهم. من رابطه بین SOLID و TDD را نشان میدهم و مجموعهای از بهترین شیوههای به یاد ماندنی را معرفی میکنم که به عنوان دستورالعملهای FIRSTHAND TDD شناخته میشوند.
قصد من از نوشتن این کتاب این است که شما را به عنوان یک تمرینکننده TDD مطمئن یا حداقل یک تمرینکننده تست واحد داشته باشم، و امیدوارم توانسته باشم قصد خود را انجام دهم.
بیشتر بخوانید: کتاب Test Your Skills in C# Programming
کتاب Pragmatic Test-Driven Development in C# and .NET برای چه کسی است؟
توسعه مبتنی بر تست روش اصلی طراحی، مستندسازی و آزمایش برنامه شما از روز اول است. به عنوان یک توسعه دهنده که به دنبال بالا رفتن از نردبان فنی به سمت یک موقعیت ارشدتر است، TDD و موضوعات مرتبط با آن مانند تست واحد، دو برابر تست و تزریق وابستگی باید یاد بگیرند.
این کتاب برای توسعه دهندگان دات نت در سطح متوسط تا ارشد است که به دنبال استفاده از پتانسیل TDD برای توسعه نرم افزار با کیفیت بالا هستند. دانش اولیه مفاهیم برنامه نویسی OOP و C# در نظر گرفته شده است، اما هیچ دانشی از TDD یا تست واحد انتظار نمیرود. همانطور که این کتاب پوشش عمیقی از تمام مفاهیم TDD و تست واحد ارائه میدهد و به عنوان یک راهنمای عالی برای توسعه دهندگانی عمل میکند که میخواهند یک برنامه کاربردی مبتنی بر TDD را از ابتدا بسازند یا توسعهدهندگانی که قصد دارند تست واحد را در سازمان خود معرفی کنند.
آنچه کتاب Pragmatic Test-Driven Development in C# and .NET پوشش میدهد:
این کتاب TDD و اکوسیستم NET آن از IDE ها و کتابخانهها را پوشش میدهد و از طریق راه اندازی محیط میپردازد. این کتاب با پوشش موضوعاتی که پیش نیازهای TDD را تشکیل میدهند، شروع میشود که عبارتند از تزریق وابستگی، تست واحد و دو برابر تست. سپس، پس از پوشش TDD و بهترین شیوههای آن، این کتاب به ساخت یک برنامه کاربردی از ابتدا با استفاده از طراحی دامنه محور به عنوان یک معماری می پردازد.
این کتاب همچنین اصول ساخت یک خط لوله یکپارچه سازی مداوم را پوشش میدهد، با کدهای قدیمی که با آزمایش پذیری در ذهن نوشته نشده اند، و با ایدههایی برای ارائه TDD در سازمان شما سروکار دارد.
فصل 1، نوشتن اولین اجرای TDD شما، مقدمه یا تئوری طولانی ندارد، بلکه مستقیماً به انتخاب IDE و نوشتن اولین اجرای TDD شما میپردازد تا طعم محتوای کتاب را بچشید.
فصل 2 کتاب Pragmatic Test-Driven Development in C# and .NET، درک تزریق وابستگی با مثال، اصول پیشرفته OOP مورد نیاز برای درک مفهوم تزریق وابستگی را بازبینی میکند و مثالهای متعددی را ارائه میدهد.
فصل 3، شروع با تست واحد، مقدمه ای ساده برای xUnit و مبانی تست واحد ارائه میدهد.
فصل 4، تست واحد واقعی با تست دوبل، از طریق stubbing، تمسخر، و NSجایگزین میگذرد و سپس دستههای تست بیشتری را مورد بحث قرار میدهد.
فصل 5، توسعه آزمایش محور توضیح داده شده، نحوه نوشتن تست واحد اما به سبک TDD را نشان میدهد و جوانب مثبت و منفی را مورد بحث قرار میدهد.
فصل 6 کتاب Pragmatic Test-Driven Development in C# and .NET، رهنمودهای اولی TDD، به جزئیات بهترین شیوههای تست واحد و TDD میپردازد.
فصل 7، نمایی عملی از طراحی دامنه محور، DDD، خدمات و مخازن را معرفی میکند.
فصل 8 کتاب Pragmatic Test-Driven Development in C# and .NET، طراحی یک برنامه رزرو قرار ملاقات، مشخصات یک برنامه واقعی را که بعداً با معماری DDD و سبک TDD اجرا میشود، تشریح میکند.
فصل 9، ساختن یک برنامه رزرو قرار ملاقات با Entity Framework و Relational DB، نمونه ای از یک برنامه TDD را با استفاده از یک باطن DB رابطه ای نشان میدهد.
فصل 10، ساختن یک برنامه با مخازن و DB سند، نمونه ای از یک برنامه کاربردی TDD را با استفاده از یک سند DB و الگوی مخزن نشان میدهد.
فصل 11، پیادهسازی یکپارچگی مداوم با اقدامات GitHub، نحوه استفاده از GitHub Actions را برای ایجاد خط لوله CI برای برنامه در فصل 10 نشان میدهد.
فصل 12 کتاب Pragmatic Test-Driven Development in C# and .NET، پرداختن به پروژههای براونفیلد، فرآیند تفکر را هنگام بررسی TDD و تست واحد برای پروژههای قدیمی تشریح میکند.
فصل 13، پیچیدگیهای رونمایی از TDD، مسیر فکری را در هنگام وادار کردن سازمان به پذیرش TDD توضیح میدهد.
ضمیمه 1، کتابخانههای رایج با تستهای واحد، چند نمونه سریع از MSTest، NUnit، Moq، Fluent Assertions و Auto Fixture را نشان میدهد.
پیوست 2، سناریوهای Mocking پیشرفته، سناریوی Mocking پیچیدهتری را با NSubstitute نشان میدهد.
سرفصلهای کتاب Pragmatic Test-Driven Development in C# and .NET:
- Contributors
- About the author
- About the reviewers
- Preface
- Part 1: Getting Started and the Basics of TDD
- Chapter 1: Writing Your First TDD Implementation
- Chapter 2: Understanding Dependency Injection by Example
- Chapter 3: Getting Started with Unit Testing
- Chapter 4: Real Unit Testing with Test Doubles
- Chapter 5: Test-Driven Development Explained
- Chapter 6: The FIRSTHAND Guidelines of TDD
- Part 2: Building an Application with TDD
- Chapter 7: A Pragmatic View of Domain-Driven Design
- Chapter 8: Designing an Appointment Booking App
- Chapter 9: Building an Appointment Booking App with Entity Framework and Relational DB
- Chapter 10: Building an App with Repositories and Document DB
- Part 3: Applying TDD to Your Projects
- Chapter 11: Implementing Continuous Integration with GitHub Actions
- Chapter 12: Dealing with Brownfield Projects
- Chapter 13: The Intricacies of Rolling Out TDD
- Appendix 1: Commonly Used Libraries with Unit Tests
- Appendix 2: Advanced Mocking Scenarios
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Pragmatic Test-Driven Development in C# and .NET میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.