Pluralsight_WPF_and_MVVM_Test_Driven_Development_of_ViewModels

معماری MVVM یا ( Model-View-View Model ) یک الگوی معماری است که در مهندسی نرم افزار و تکنولوژی های برنامه نویسی شرکت مایکروسافت استفاده می شود. معماری MVVM تا حدی شبیه معماری MVC و یا ( Model-View-Controller) است که از شناخت کلی تری نسبت به MVVM بر خوردار است. MVVM به صورت هدفمند و برای توسعه پلتفرم UI حرفه ای که از برنامه نویسی رویداد محور پشتیبانی می کنند به وجود آمده است از جمله برنامه هایی که از برنامه نویسی رویداد محور استفاده می کنند می توان به HTML۵ ، WPF ،  Silver Light و ZK Framework اشاره کرد.

در این آموزش تصویری با نحوه توسعه اپلیکیشن های آزمون محور با WPF و MVVM آشنا می شوید.

این دوره آموزشی محصول موسسه Pluralsight است.

سرفصل های این دوره:

  • MVVM چیست؟
  • مزایای استفاده از MVVM
  • مزایای استفاده از تست واحد
  • FriendStorage برنامه
  • آغاز به کار با تست واحد
  • تست واحد مبانی
  • تست های واحد موثر هستندI.R.S.T.
  • تست قاب محبوب واحد برای دات نت
  • ارسال و اجرای آزمون واحد با MSTest
  • ارسال و اجرای آزمون واحد با xUnit
  • تست های واحد پارامتر با xUnit
  • ساختار خوب از یک تست واحد
  • اضافه کردن یک تست پروژه به FriendStorage
  • آزمون محور توسعه (TDD)
  • اسپک ناوبری FriendStorage
  • آزمایش بار روش NavigationViewModel
  • نوشتن ViewModels ازمایشی
  • معرفی INavigationDataProvider
  • تست های واحد با NavigationDataProviderMock
  • و ..

عنوان دوره: Pluralsight WPF and MVVM: Test Driven Development of ViewModels

مدت دوره: 5 ساعت و 22 دقیقه

نویسنده: Thomas Claudius Huber

 توضیحات:

https://www.pluralsight.com/courses/wpf-mvvm-test-driven-development-viewmodels
Pluralsight WPF and MVVM: Test Driven Development of ViewModels

Thomas Claudius Huber
5h 22m
Intermediate



Testing your ViewModels while they're in development can help you create better apps. In this course, you'll learn how to use test-driven development (TDD) to build the ViewModels of your MVVM application.


Course Overview
1m 59s
Course Overview
1m 59s
Introduction
22m 47s
Introduction
2m 21s
Course Outline
4m 0s
The MVVM-pattern
2m 43s
Advantages of MVVM
2m 20s
Advantages of Unit Testing
1m 33s
The FriendStorage-application
8m 34s
Summary
1m 13s
Getting Started with Unit Testing
46m 22s
Introduction
1m 50s
Unit Testing Basics
4m 6s
Effective Unit Tests Are F.I.R.S.T.
3m 10s
Popular Unit Testing Frameworks for .NET
1m 34s
Write and Run a Unit Test with MSTest
4m 56s
Write and Run a Unit Test with xUnit
4m 39s
Parameterized Unit Tests with xUnit
5m 11s
Good Structure of a Unit Test
1m 3s
Adding a Test-project to FriendStorage
4m 0s
Test Driven Development (TDD) Basics
1m 12s
Using Spikes in TDD
2m 14s
Spiking the Navigation of FriendStorage
7m 22s
Testing the Load-method of the NavigationViewModel
3m 2s
Summary
1m 57s
Writing Testable ViewModels
39m 38s
Introduction
1m 18s
Dependencies of a ViewModel
0m 47s
Abstract Away Dependencies with Interfaces
2m 23s
Introduce the INavigationDataProvider-interface
3m 9s
Write Unit Tests with a NavigationDataProviderMock
4m 44s
Implement the Production NavigationDataProvider
3m 58s
Optimize the Code for Performance
6m 1s
Test the MainViewModel's Load-method
6m 5s
Dependency Injection Basics 2m 41s
Use Autofac to Inject Dependencies in FriendStorage
6m 56s
Summary
1m 30s
Mocking Dependencies with Moq
15m 0s
Introduction
0m 56s
What Is Moq?
2m 21s
Use Moq in the NavigationViewModel-tests
5m 46s
Use Moq in the MainViewModel-tests
5m 24s
Summary
0m 31s
Testing and Implementing the Loading of Friends
58m 5s
Introduction
1m 35s
Overview of Loading Friends in FriendStorage
1m 42s
Create the OpenFriendEditViewEvent
1m 56s
Add the NavigationItemViewModel
4m 58s
Add the IEventAggregator
2m 58s
Test and Publish the OpenFriendEditViewEvent
4m 49s
Open a Tab in the MainViewModel
5m 24s
Write the Test to Open the Tab
6m 51s
Implement the Logic to Open the Tab
2m 4s
Open Just One Tab Per Friend
5m 52s
Test the PropertyChanged-event
5m 18s
Load the Friend in the FriendEditViewModel
6m 10s
Implement the FriendEditViewModel
2m 53s
Adjust Autofac and Run FriendStorage
4m 13s
Summary 1m 13s
Closing Tabs and Saving a Friend
47m 2s
Introduction
1m 44s
Close a Tab
5m 38s
Enable and Disable the Save-button
3m 55s
Track Changes in a FriendWrapper
7m 19s
Raise the SaveCommand's CanExecuteChanged-event
4m 6s
Implement the SaveCommand to Save a Friend
4m 21s
Publish the FriendSavedEvent After Save
5m 49s
Refresh the Navigation After Save
6m 18s
Raise the PropertyChanged-event for the DisplayMember-property
6m 32s
Summary
1m 16s
Adding a New Friend
26m 13s
Introduction
0m 58s
Create the AddFriendCommand in the MainViewModel
1m 55s
The Plan for the AddFriendCommand
3m 4s
Test the AddFriendCommand
4m 32s
Implement the AddFriendCommand
1m 31s
Refactor the MainViewModel
2m 1s
Create a New Friend in the FriendEditViewModel
4m 1s
Add the Saved Friend to the Navigation
6m 3s
Summary
2m 4s
Deleting an Existing Friend
32m 58s
Introduction
1m 16s
Enable and Disable the Delete-button
5m 48s
Raise the DeleteCommand's CanExecuteChanged-event
5m 33s
Implement the DeleteCommand to Delete a Friend
3m 37s
Publish the FriendDeletedEvent After Delete
4m 33s
Refresh the Navigation After Delete
4m 52s
Close the Tab After Delete
5m 33s
Summary
1m 43s
Interacting with Dialogs in MVVM
32m 7s
Introduction
1m 11s
The Problem with Dialogs in the ViewModel
4m 47s
Introduce the IMessageDialogService-interface
4m 39s
Display a Dialog When Deleting a Friend
5m 9s
Publish the FriendDeletedEvent
3m 1s
Test the Dialog Message
2m 24s
Implement the MessageDialogService
3m 51s
Use a Custom Dialog
3m 51s
Course Summary
3m 10s