نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره:
آزمایش ViewModels هنگام توسعه می تواند به شما در ایجاد برنامه های بهتر کمک کند. در این دوره ، شما می آموزید که چگونه از توسعه آزمون محور (TDD) برای ساخت ViewModels برنامه MVVM خود استفاده کنید. هنگام استفاده از الگوی MVVM ، منطق UI در ViewModels قرار می گیرد. یک مزیت اساسی چنین ViewModel قابل آزمایش بودن است. در این دوره ، WPF و MVVM: توسعه آزمایشی ViewModels ، با مشخصات آزمایش واحد در MVVM آشنا می شوید. نحوه ایجاد و اجرای تست های واحدی در Visual Studio با چارچوب محبوب تست xUnit و نحوه نوشتن ViewModels قابل آزمایش را با خارج کردن وابستگی های معمولی مانند منطق دسترسی به داده ها ، تجمع رویدادها ، گفتگوی مد و موارد دیگر ، خواهید فهمید. در مرحله بعدی ، به شما آموزش داده می شود که با استفاده از کتابخانه تمسخر ، Moq و همچنین تزریق وابستگی ها به ViewModels خود با استفاده از یک چارچوب تزریق وابستگی به نام Autofac ، هنگام اجرای برنامه خود ، این وابستگی ها را در آزمونهای واحد خود مسخره/جعلی کنید. سرانجام ، شما می توانید ViewModels را برای یک برنامه MVVM به نام FriendStorage از "کلاس خالی" به مرحله نهایی با استفاده از توسعه تست محور بسازید و آن را آزمایش کنید. با پایان این دوره ، خواهید فهمید که چگونه ViewModels خود را از طریق آزمایش توسعه می دهید تا برنامه های بهتر از همیشه ایجاد کنید.
سرفصل ها و درس ها
بررسی اجمالی دوره
Course Overview
-
بررسی اجمالی دوره
Course Overview
مقدمه
Introduction
-
مقدمه
Introduction
-
طرح کلی دوره
Course Outline
-
الگوی MVVM
The MVVM-pattern
-
مزایای MVVM
Advantages of MVVM
-
مزایای تست واحد
Advantages of Unit Testing
-
برنامه FriendStorage
The FriendStorage-application
-
خلاصه
Summary
شروع با تست واحد
Getting Started with Unit Testing
-
مقدمه
Introduction
-
مبانی تست واحد
Unit Testing Basics
-
تست های واحد موثر F.I.R.S.T هستند
Effective Unit Tests Are F.I.R.S.T.
-
چارچوب های محبوب تست واحد برای .NET
Popular Unit Testing Frameworks for .NET
-
یک تست واحد را با MSTest بنویسید و اجرا کنید
Write and Run a Unit Test with MSTest
-
یک تست واحد را با xUnit بنویسید و اجرا کنید
Write and Run a Unit Test with xUnit
-
تست های پارامتر شده واحد با xUnit
Parameterized Unit Tests with xUnit
-
ساختار خوب آزمون واحد
Good Structure of a Unit Test
-
افزودن یک پروژه آزمایشی به FriendStorage
Adding a Test-project to FriendStorage
-
مبانی توسعه مبتنی بر آزمون (TDD)
Test Driven Development (TDD) Basics
-
استفاده از Spikes در TDD
Using Spikes in TDD
-
افزایش ناوبری FriendStorage
Spiking the Navigation of FriendStorage
-
آزمایش روش بارگذاری مدل NavigationViewModel
Testing the Load-method of the NavigationViewModel
-
خلاصه
Summary
نوشتن مدلهای قابل مشاهده
Writing Testable ViewModels
-
مقدمه
Introduction
-
وابستگی های یک ViewModel
Dependencies of a ViewModel
-
وابستگی های دور با رابط ها
Abstract Away Dependencies with Interfaces
-
رابط INavigationDataProvider را معرفی کنید
Introduce the INavigationDataProvider-interface
-
تست های واحد را با NavigationDataProviderMock بنویسید
Write Unit Tests with a NavigationDataProviderMock
-
تولید NavigationDataProvider را پیاده سازی کنید
Implement the Production NavigationDataProvider
-
کد عملکرد را بهینه کنید
Optimize the Code for Performance
-
روش MainViewModel را بارگذاری کنید
Test the MainViewModel's Load-method
-
مبانی تزریق وابستگی
Dependency Injection Basics
-
برای تزریق وابستگی ها در FriendStorage از Autofac استفاده کنید
Use Autofac to Inject Dependencies in FriendStorage
-
خلاصه
Summary
وابستگی های مسخره با Moq
Mocking Dependencies with Moq
-
مقدمه
Introduction
-
Moq چیست؟
What Is Moq?
-
از Moq در آزمایشات NavigationViewModel استفاده کنید
Use Moq in the NavigationViewModel-tests
-
در آزمونهای MainViewModel از Moq استفاده کنید
Use Moq in the MainViewModel-tests
-
خلاصه
Summary
آزمایش و اجرای بارگذاری دوستان
Testing and Implementing the Loading of Friends
-
مقدمه
Introduction
-
نمای کلی بارگیری دوستان در FriendStorage
Overview of Loading Friends in FriendStorage
-
OpenFriendEditViewEvent را ایجاد کنید
Create the OpenFriendEditViewEvent
-
NavigationItemViewModel را اضافه کنید
Add the NavigationItemViewModel
-
IEventAggregator را اضافه کنید
Add the IEventAggregator
-
OpenFriendEditViewEvent را آزمایش و منتشر کنید
Test and Publish the OpenFriendEditViewEvent
-
یک برگه در MainViewModel باز کنید
Open a Tab in the MainViewModel
-
برای باز کردن برگه آزمون را بنویسید
Write the Test to Open the Tab
-
منطق را برای باز کردن برگه پیاده سازی کنید
Implement the Logic to Open the Tab
-
برای هر دوست فقط یک برگه باز کنید
Open Just One Tab Per Friend
-
واقعه PropertyChanged را تست کنید
Test the PropertyChanged-event
-
Friend را در FriendEditViewModel بارگیری کنید
Load the Friend in the FriendEditViewModel
-
FriendEditViewModel را پیاده سازی کنید
Implement the FriendEditViewModel
-
تنظیم Autofac و اجرای FriendStorage
Adjust Autofac and Run FriendStorage
-
خلاصه
Summary
بستن برگه ها و ذخیره یک دوست
Closing Tabs and Saving a Friend
-
مقدمه
Introduction
-
یک برگه را ببندید
Close a Tab
-
دکمه ذخیره را فعال و غیرفعال کنید
Enable and Disable the Save-button
-
پیگیری تغییرات در FriendWrapper
Track Changes in a FriendWrapper
-
CanExecuteChanged-رویداد SaveCommand را بالا ببرید
Raise the SaveCommand's CanExecuteChanged-event
-
SaveCommand را برای ذخیره یک دوست اجرا کنید
Implement the SaveCommand to Save a Friend
-
بعد از ذخیره FriendSavedEvent را منتشر کنید
Publish the FriendSavedEvent After Save
-
بعد از ذخیره ، Navigation را تازه کنید
Refresh the Navigation After Save
-
رویداد PropertyChanged را برای ویژگی DisplayMember بالا ببرید
Raise the PropertyChanged-event for the DisplayMember-property
-
خلاصه
Summary
افزودن یک دوست جدید
Adding a New Friend
-
مقدمه
Introduction
-
AddFriendCommand را در MainViewModel ایجاد کنید
Create the AddFriendCommand in the MainViewModel
-
برنامه برای AddFriendCommand
The Plan for the AddFriendCommand
-
AddFriendCommand را تست کنید
Test the AddFriendCommand
-
AddFriendCommand را پیاده سازی کنید
Implement the AddFriendCommand
-
Refactor the MainViewModel
Refactor the MainViewModel
-
یک دوست جدید در FriendEditViewModel ایجاد کنید
Create a New Friend in the FriendEditViewModel
-
Friend Saved را به Navigation اضافه کنید
Add the Saved Friend to the Navigation
-
خلاصه
Summary
در حال حذف یک دوست موجود
Deleting an Existing Friend
-
مقدمه
Introduction
-
دکمه Delete را فعال و غیرفعال کنید
Enable and Disable the Delete-button
-
CanExecuteChanged-رویداد DeleteCommand را بالا ببرید
Raise the DeleteCommand's CanExecuteChanged-event
-
DeleteCommand را برای حذف یک دوست اجرا کنید
Implement the DeleteCommand to Delete a Friend
-
بعد از حذف FriendDeletedEvent را منتشر کنید
Publish the FriendDeletedEvent After Delete
-
بعد از حذف ، Navigation را تازه کنید
Refresh the Navigation After Delete
-
بعد از حذف برگه را ببندید
Close the Tab After Delete
-
خلاصه
Summary
تعامل با گفتگوها در MVVM
Interacting with Dialogs in MVVM
-
مقدمه
Introduction
-
مشکل گفتگوها در ViewModel
The Problem with Dialogs in the ViewModel
-
رابط IMessageDialogService را معرفی کنید
Introduce the IMessageDialogService-interface
-
هنگام پاک کردن دوست ، گفتگوی خود را نشان دهید
Display a Dialog When Deleting a Friend
-
FriendDeletedEvent را منتشر کنید
Publish the FriendDeletedEvent
-
پیام گفتگوی را امتحان کنید
Test the Dialog Message
-
MessageDialogService را پیاده سازی کنید
Implement the MessageDialogService
-
از گفتگوی سفارشی استفاده کنید
Use a Custom Dialog
-
خلاصه دوره
Course Summary
نمایش نظرات