آموزش تست واحد با NUnit و C#

Learn Unit Testing with NUnit and C#

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: تست واحد، TDD، تمسخر و تزریق وابستگی را بیاموزید: تکنیک هایی که برای ساختن نرم افزار قابل اعتماد به آنها نیاز دارید. نوشتن تست‌های واحد اجرا و اشکال‌زدایی تست‌های واحد نوشتن ماکت‌های دستی ساختن ساختگی با چارچوب تمسخر آمیز تمرین توسعه تست محور (TDD) اعمال بهترین روش‌های تست واحد نوشتن

مفاهیم و ابزارهایی را که برای ساختن نرم افزار قابل نگهداری و قابل اعتماد نیاز دارید، عمیقاً بیاموزید.

روش تدریس

بدون کرک، بدون هیاهو، بدون کوبیدن هوا. من به وقت شما احترام می گذارم مطالب دوره مختصر و در عین حال جامع است. تمام مفاهیم مهم پوشش داده شده است. به خصوص موضوعات مهم به طور عمیق پوشش داده شده است.

این دوره را بگذرانید و راضی خواهید بود.

با این دوره یک پایه محکم در تست واحد ایجاد کنید

این دوره در مورد نوشتن تست های واحد موثر با استفاده از زبان برنامه نویسی C# و NUnit به عنوان چارچوب تست واحد است. در طول مسیر با مفاهیم مربوط به تست واحد آشنا می شویم. امروزه تست واحد یک مهارت کاملاً مورد نیاز هر توسعه دهنده حرفه ای است. شرکت ها از توسعه دهندگان انتظار دارند که بدانند چگونه تست های واحد را شامل تمام موضوعات مهم مانند تمسخر و توسعه تست محور (به طور خلاصه TDD) بنویسند. این دوره تمام ویژگی های NUnit را پوشش نمی دهد. این دوره بسیار جالب تر است.

تست واحد یادگیری ابزار قدرتمند و بسیار مفیدی را در اختیار شما قرار می دهد. با آشنایی با تست واحد می توانید برنامه های قابل اعتماد و قابل نگهداری بنویسید. هدایت پروژه ای که تحت پوشش تست واحد قرار نمی گیرد بسیار سخت است.

محتوا و نمای کلی

این دوره در درجه اول برای توسعه دهندگان مبتدی طراحی شده است. این پایه نظری محکمی را فراهم می کند که با هزاران ماده عملی تقویت شده است.

ما با اصول اولیه تست واحد شروع می کنیم. آزمون واحد چیست؟ چه چارچوب های تست واحدی وجود دارد؟ چگونه تست های واحد را اجرا و اشکال زدایی کنیم. پس از آشنایی با اصول اولیه به فریم ورک NUnit می رسیم. در اینجا نحوه نصب چارچوب، تنظیم runner را یاد خواهید گرفت. سپس اصول اظهارات را یاد می گیرید و سه گانه ترتیب-عمل-ادعا را می آموزید. سایر ویژگی های کلیدی NUnit نیز پوشش داده شده است:

  • اجرای آزمایش‌ها از کنسول

  • تست‌های واحد راه‌اندازی و حذف

  • آزمون های پارامتری

  • گروه‌بندی و نادیده گرفتن

با تمرین نوشتن تست‌های واحد، اجتناب از استفاده از تملک غیرممکن است. من به طور کلی کلمه "تست دوبل" را بیشتر دوست دارم. به هر حال، شما یاد خواهید گرفت که تفاوت بین مفهوم زیر چیست:

  • دوبار تست کنید

  • جعلی

  • ساختگی

  • خرد

  • مسخره کردن

می آموزید که چگونه دوبل های آزمایشی را به صورت دستی بنویسید. همچنین یک مثال ساده از نحوه استفاده از یک فریم ورک مسخره برای استفاده از ماک ها را مشاهده خواهید کرد. من از NSubstitute mocking frame برای نمایش استفاده خواهم کرد.

در پایان این بخش، با دو رویکرد کلیدی برای تست واحد، کلاسیک یا مدرسه دیترویت و مدرسه تست واحد لندن آشنا خواهید شد.

شما به طور جداگانه اصول اولیه توسعه مبتنی بر آزمایش را خواهید آموخت. تصور یک توسعه‌دهنده حرفه‌ای مدرن که در مورد TDD نمی‌داند سخت است، بنابراین خواهید فهمید که چیست و در مورد چیست. سه گانه Red-Green-Refactor را در حال اجرا خواهید دید.

من نتوانستم دوره را با اجتناب از بهترین شیوه های نوشتن آزمون های واحد تکمیل کنم. شما مفاهیم اساسی رویکرد مدرن برای تست واحد به نام "تست واحد عملی" را خواهید آموخت. خواهید دید که کلاس‌های استاتیک و تک‌تون‌ها چه مشکلاتی را در مورد تست واحد ایجاد می‌کنند. آنها تست واحد را سخت تر می کنند. پس از آن، مشکل استخراج اینترفیس ها را فقط به خاطر معرفی شیم برای تزریق وابستگی ها خواهید آموخت.

می‌دانید که آیا آزمون‌های واحد را برای کدهای بی‌اهمیت بنویسید. در این دوره چیزهای بیشتری یاد خواهید گرفت.

بنابراین، به طور خلاصه، این دوره موضوعات زیر را پوشش می دهد:

  • مفاهیم اساسی تست واحد

  • NUnit و ویژگی های آن

  • تست دوبل شامل جعلی، ساختگی، خرد، جاسوس و مسخره

  • نحوه نوشتن دوبل تست دستی و نحوه استفاده از چارچوب تمسخر آمیز (NSubstitute)

  • TDD، سه گانه فاکتور قرمز-سبز

  • تعداد زیادی از بهترین شیوه های نوشتن آزمون های واحد

  • مقدمه ای بر تزریق وابستگی

در پایان، آنچه را که آموخته‌اید خلاصه می‌کنیم، و سعی می‌کنید بفهمید که با هدف تسلط بر مهارت‌های خود باید به کجا ادامه دهید.

مدت این دوره چقدر است: دوره حدود 7.5 ساعت است. همه سخنرانی های تصویری هستند. شما قادر خواهید بود تمامی اسلایدها و نمونه کدهای مورد استفاده در دوره را دانلود کنید.

---------------------------------------------- -------------

کلمات کلیدی مرتبط با دوره:

  • آموزش تست واحد ویژوال استودیو

  • آموزش تست واحد NUnit

  • چارچوب آزمایشی Dot Net

  • چارچوب تست واحد C#

  • آموزش چارچوب تست واحد ویژوال استودیو

  • آموزش تست واحد csharp

  • TDD در سی شارپ

  • NSجایگزین

  • TDD

  • توسعه مبتنی بر آزمایش

  • واحد تست C#


سرفصل ها و درس ها

قبل از شرکت در دوره Before taking the Course

  • چگونه سوال بپرسیم How to Ask Questions

  • کد منبع و اسلایدها را دانلود کنید Download Source Code and Slides

قبل از شرکت در دوره Before taking the Course

  • چگونه سوال بپرسیم How to Ask Questions

  • کد منبع و اسلایدها را دانلود کنید Download Source Code and Slides

  • زیرنویس انگلیسی English Subtitles

  • زیرنویس انگلیسی English Subtitles

  • به انجمن دانشجویان دات نت بپیوندید Join .NET Community of Students

  • به انجمن دانشجویان دات نت بپیوندید Join .NET Community of Students

شروع شدن Getting Started

  • طرح کلی Outline

  • چارچوب های تست واحد Unit-Testing Frameworks

  • قراردادهای نامگذاری Naming Conventions

  • اجرای و اشکال زدایی تست های واحد Running and Debugging Unit Tests

  • مزایای تست واحد Benefits of Unit Testing

  • چه کسی و چه زمانی باید تست های واحد بنویسد Who Should Write Unit Tests and When

  • سوگند برنامه نویس Programmer's Oath

  • تمرین: مبدل مدرک Exercise: Degree Converter

  • راه حل: مبدل مدرک Solution: Degree Converter

  • نتیجه Conclusion

شروع شدن Getting Started

  • طرح کلی Outline

  • تست واحد چیست؟ What is a Unit Test?

  • تست واحد چیست؟ What is a Unit Test?

  • چارچوب های تست واحد Unit-Testing Frameworks

  • اولین آزمون واحد شما Your First Unit Test

  • اولین آزمون واحد شما Your First Unit Test

  • قراردادهای نامگذاری Naming Conventions

  • اجرای و اشکال زدایی تست های واحد Running and Debugging Unit Tests

  • مزایای تست واحد Benefits of Unit Testing

  • چه کسی و چه زمانی باید تست های واحد بنویسد Who Should Write Unit Tests and When

  • سوگند برنامه نویس Programmer's Oath

  • تمرین: مبدل مدرک Exercise: Degree Converter

  • راه حل: مبدل مدرک Solution: Degree Converter

  • نتیجه Conclusion

چارچوب NUnit NUnit Framework

  • طرح کلی Outline

  • ادعای مقدمه Assert Introduction

  • ادعای نسخه ی نمایشی Assert Demo

  • تمرین: پشته Exercise: Stack

  • نتیجه Conclusion

چارچوب NUnit NUnit Framework

  • طرح کلی Outline

  • ادعای مقدمه Assert Introduction

  • ادعای نسخه ی نمایشی Assert Demo

  • ترتیب - عمل - ادعا Arrange-Act-Assert

  • ترتیب - عمل - ادعا Arrange-Act-Assert

  • اجرای تست ها از کنسول Running Tests from the Console

  • اجرای تست ها از کنسول Running Tests from the Console

  • SetUp و TearDown SetUp and TearDown

  • SetUp و TearDown SetUp and TearDown

  • OneTimeSetUp و OneTimeTearDown OneTimeSetUp and OneTimeTearDown

  • OneTimeSetUp و OneTimeTearDown OneTimeSetUp and OneTimeTearDown

  • تست های واحد پارامتری شده Parameterized Unit Tests

  • تست های واحد پارامتری شده Parameterized Unit Tests

  • گروه بندی و نادیده گرفتن آزمون های واحد Grouping and Ignoring Unit Tests

  • گروه بندی و نادیده گرفتن آزمون های واحد Grouping and Ignoring Unit Tests

  • پوشش کد Code Coverage

  • پوشش کد Code Coverage

  • تمرین: FizzBuzz Exercise: FizzBuzz

  • تمرین: FizzBuzz Exercise: FizzBuzz

  • راه حل: FizzBuzz Solution: FizzBuzz

  • راه حل: FizzBuzz Solution: FizzBuzz

  • تمرین: اعداد رومی Exercise: Roman Numerals

  • تمرین: اعداد رومی Exercise: Roman Numerals

  • راه حل: اعداد رومی Solution: Roman Numerals

  • راه حل: اعداد رومی Solution: Roman Numerals

  • تمرین: پشته Exercise: Stack

  • راه حل: پشته Solution: Stack

  • راه حل: پشته Solution: Stack

  • نتیجه Conclusion

تست دونفره Test Doubles

  • تست دوگانه و تزریق وابستگی Test Doubles and Dependency Injection

  • طرح کلی Outline

  • دوتایی تست دستی یا دستی Hand Rolled or Manual Test Doubles

  • مشکلات تست دستی دونفره Problems with Manual Test Doubles

  • چارچوب های تمسخر آمیز Mocking Frameworks

  • NSجایگزین Mocking Framework. ویژگی های کلیدی نسخه ی نمایشی NSubstitute Mocking Framework. Key Features. Demo

  • مدرسه دیترویت در مقابل مدرسه تست واحد لندن Detroit School vs London School of Unit Testing

  • نتیجه Conclusion

تست دونفره Test Doubles

  • تست دوگانه و تزریق وابستگی Test Doubles and Dependency Injection

  • طرح کلی Outline

  • نسخه ی نمایشی یک مشکل تست Demo of a Testing Problem

  • نسخه ی نمایشی یک مشکل تست Demo of a Testing Problem

  • Refactoring برای تست شدن کد Refactoring to Make Code Testable

  • Refactoring برای تست شدن کد Refactoring to Make Code Testable

  • تست دونفره Test Doubles

  • تست دونفره Test Doubles

  • دوتایی تست دستی یا دستی Hand Rolled or Manual Test Doubles

  • مشکلات تست دستی دونفره Problems with Manual Test Doubles

  • چارچوب های تمسخر آمیز Mocking Frameworks

  • نوشتن تست های واحد با چارچوب تمسخر آمیز Writing Unit Tests with a Mocking Framework

  • نوشتن تست های واحد با چارچوب تمسخر آمیز Writing Unit Tests with a Mocking Framework

  • NSجایگزین Mocking Framework. ویژگی های کلیدی نسخه ی نمایشی NSubstitute Mocking Framework. Key Features. Demo

  • مدرسه دیترویت در مقابل مدرسه تست واحد لندن Detroit School vs London School of Unit Testing

  • نتیجه Conclusion

توسعه تست محور Test-Driven Development

  • طرح کلی Outline

  • قرمز \ سبز \ Refactor Red \ Green \ Refactor

  • فرآیند چابک منظم در 200 کلمه Regular Agile Process in 200 Words

  • VS و R# میانبر VS and R# Shortcuts

  • Refactoring Commands Built-In VS 2017 Refactoring Commands Built-In VS 2017

  • اعداد فیبوناچی Fibonacci Numbers

  • تست مداوم Continuous Testing

  • تیک تاک پا (صلیب ها و نوت ها) Tic-Tac-Toe (Crosses and Noughts)

  • نتیجه Conclusion

توسعه تست محور Test-Driven Development

  • طرح کلی Outline

  • TDD چیست؟ What is TDD?

  • TDD چیست؟ What is TDD?

  • قرمز \ سبز \ Refactor Red \ Green \ Refactor

  • TDD و طراحی اولیه TDD and Design Upfront

  • TDD و طراحی اولیه TDD and Design Upfront

  • فرآیند چابک منظم در 200 کلمه Regular Agile Process in 200 Words

  • VS و R# میانبر VS and R# Shortcuts

  • Refactoring Commands Built-In VS 2017 Refactoring Commands Built-In VS 2017

  • اعداد فیبوناچی Fibonacci Numbers

  • سه تکنیک اصلی TDD Three Main TDD Techniques

  • سه تکنیک اصلی TDD Three Main TDD Techniques

  • گرفتن طلا Grabbing the Gold

  • گرفتن طلا Grabbing the Gold

  • FizzBuzz FizzBuzz

  • FizzBuzz FizzBuzz

  • خواندن اعداد رومی Reading Roman Numerals

  • خواندن اعداد رومی Reading Roman Numerals

  • UpdateableSpin UpdateableSpin

  • UpdateableSpin UpdateableSpin

  • تست مداوم Continuous Testing

  • تیک تاک پا (صلیب ها و نوت ها) Tic-Tac-Toe (Crosses and Noughts)

  • اول ادعا کن Assert First

  • اول ادعا کن Assert First

  • نسخه ی نمایشی TDD - بازی در استیک TDD Demo - Game in Sticks

  • نسخه ی نمایشی TDD - بازی در استیک TDD Demo - Game in Sticks

  • نتیجه Conclusion

بهترین روش های تست واحد Best Practices of Unit Testing

  • طرح کلی Outline

  • تست های یکپارچه سازی Integration Tests

  • کلاس های تک تن و استاتیک Singletons and Static Classes

  • نسخه ی نمایشی Refactoring به یک طراحی قابل آزمایش Demo of Refactoring to a Testable Design

  • چقدر پوشش تست کافی است؟ How Much Test Coverage is Enough?

  • تست کدهای بی اهمیت Testing Trivial Code

  • قانون آزمایش یک نگرانی واحد The Rule of Testing a Single Concern

  • امضاهای روش آزمون واحد تولید Generating Unit Test Method Signatures

  • نتیجه Conclusion

  • سخنرانی جایزه BONUS LECTURE

بهترین روش های تست واحد Best Practices of Unit Testing

  • طرح کلی Outline

  • آیا تست های واحد موفقیت را تضمین می کند؟ Do Unit Tests Guarantee the Success?

  • آیا تست های واحد موفقیت را تضمین می کند؟ Do Unit Tests Guarantee the Success?

  • آزمایش واحد عملی Pragmatic Unit Testing

  • آزمایش واحد عملی Pragmatic Unit Testing

  • تست های یکپارچه سازی Integration Tests

  • کلاس های تک تن و استاتیک Singletons and Static Classes

  • رابط های هدر Header Interfaces

  • رابط های هدر Header Interfaces

  • نسخه ی نمایشی Refactoring به یک طراحی قابل آزمایش Demo of Refactoring to a Testable Design

  • چقدر پوشش تست کافی است؟ How Much Test Coverage is Enough?

  • تست کدهای بی اهمیت Testing Trivial Code

  • قانون آزمایش یک نگرانی واحد The Rule of Testing a Single Concern

  • بیشتر در مورد بهترین شیوه ها More on Best Practices

  • بیشتر در مورد بهترین شیوه ها More on Best Practices

  • امضاهای روش آزمون واحد تولید Generating Unit Test Method Signatures

  • نتیجه Conclusion

  • نتیجه Conclusion

  • امتحان نهایی Final Quiz

  • امتحان نهایی Final Quiz

  • سخنرانی جایزه BONUS LECTURE

ضمیمه. مقدمه ای بر تزریق وابستگی Appendix. Intro to Dependency Injection

  • تعریف DIP Definition of DIP

  • وابستگی ها Dependencies

  • تکنیک های تزریق وابستگی Dependency Injection Techniques

  • مفاهیم معماری Architectural Implications

  • بوی متداول نقض DIP Common Smells of DIP Violation

  • نتیجه Conclusion

ضمیمه. مقدمه ای بر تزریق وابستگی Appendix. Intro to Dependency Injection

  • طرح کلی Outline

  • تعریف DIP Definition of DIP

  • وابستگی ها Dependencies

  • وابستگی های فرار و پایدار Volatile and Stable Dependencies

  • وابستگی های فرار و پایدار Volatile and Stable Dependencies

  • تعریف IoC و DI Definition of IoC and DI

  • تعریف IoC و DI Definition of IoC and DI

  • نسخه نمایشی نقض DIP DIP Violation Demo

  • نسخه نمایشی نقض DIP DIP Violation Demo

  • بازسازی برای طراحی بهتر Refactoring to a Better Design

  • بازسازی برای طراحی بهتر Refactoring to a Better Design

  • تکنیک های تزریق وابستگی Dependency Injection Techniques

  • مفاهیم معماری Architectural Implications

  • بوی متداول نقض DIP Common Smells of DIP Violation

  • نتیجه Conclusion

ضمیمه. معرفی DI. ظروف IoC Appendix. Intro to DI. IoC-Containers

  • طرح کلی Outline

  • Pure DI و IoC-Containers Pure DI and IoC-Containers

  • سرویس یاب Service Locator

  • نسخه ی نمایشی با یک IoC-Container Demo with an IoC-Container

  • نتیجه Conclusion

ضمیمه. معرفی DI. ظروف IoC Appendix. Intro to DI. IoC-Containers

  • طرح کلی Outline

  • طرح کلی Outline

  • Pure DI و IoC-Containers Pure DI and IoC-Containers

  • ساخت یک IoC-Container ساده Building a Simple IoC-Container

  • ساخت یک IoC-Container ساده Building a Simple IoC-Container

  • سرویس یاب Service Locator

  • نسخه ی نمایشی با یک IoC-Container Demo with an IoC-Container

  • نتیجه Conclusion

  • نتیجه Conclusion

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش تست واحد با NUnit و C#
جزییات دوره
7.5 hours
94
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
7,266
4.4 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Engineer Spock Engineer Spock

مهندس نرم افزار - بیش از 1000 نقد، میانگین امتیاز - 4.5