Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Pluralsight

WPF and MVVM: Test Driven Development of ViewModels

via Pluralsight

Overview

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.

When applying the MVVM pattern, the UI-logic is placed in ViewModels. A key advantage of such a ViewModel is that it is highly testable. In this course, WPF and MVVM: Test Driven Development of ViewModels, you'll learn the specifics of unit testing within MVVM. You'll discover how to create and run unit tests in Visual Studio with the popular testing framework xUnit, and how to write testable ViewModels by moving out typical dependencies like data access logic, event aggregator, modal dialogs and more. Next, you'll be taught how to mock/fake these dependencies in your unit tests by using the mocking library, Moq, as well as inject the dependencies into your ViewModels with a dependency injection framework called Autofac while running your application. Finally, you'll build and unit-test the ViewModels for an MVVM app called FriendStorage from 'empty class' to final by using test-driven development. By the end of this course, you'll understand how to develop your ViewModels through testing in order to create better apps than ever.

Syllabus

  • Course Overview 1min
  • Introduction 23mins
  • Getting Started with Unit Testing 46mins
  • Writing Testable ViewModels 39mins
  • Mocking Dependencies with Moq 15mins
  • Testing and Implementing the Loading of Friends 58mins
  • Closing Tabs and Saving a Friend 47mins
  • Adding a New Friend 26mins
  • Deleting an Existing Friend 32mins
  • Interacting with Dialogs in MVVM 32mins

Taught by

Thomas Claudius Huber

Reviews

4.8 rating at Pluralsight based on 160 ratings

Start your review of WPF and MVVM: Test Driven Development of ViewModels

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.