Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
.NET MAUI Cross-Platform Application Development

You're reading from   .NET MAUI Cross-Platform Application Development Build high-performance apps for Android, iOS, macOS, and Windows using XAML and Blazor with .NET 8

Arrow left icon
Product type Paperback
Published in Mar 2024
Publisher Packt
ISBN-13 9781835080597
Length 496 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Roger Ye Roger Ye
Author Profile Icon Roger Ye
Roger Ye
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Exploring .NET MAUI FREE CHAPTER
2. Getting Started with .NET MAUI 3. Building Our First .NET MAUI App 4. User Interface Design with XAML 5. Exploring MVVM and Data Binding 6. Navigation Using .NET MAUI Shell and NavigationPage 7. Software Design with Dependency Injection 8. Using Platform-Specific Features 9. Part 2: Implementing .NET MAUI Blazor
10. Introducing Blazor Hybrid App Development 11. Understanding Blazor Routing and Layout 12. Implementing Razor Components 13. Part 3: Testing and Deployment
14. Developing Unit Tests 15. Deploying and Publishing in App Stores 16. Other Books You May Enjoy
17. Index

Mock .NET MAUI components

In developing unit tests for .NET MAUI, we will present test case development for both XAML-based and Blazor-based apps. In both instances, we will incorporate the MVVM pattern in the design. The unit test cases at the model layer are identical for both; however, testing the view and the view model differs significantly. Developing unit test cases for the view and the view model in a XAML-based app can be quite complex. To test the view model, it is necessary to resolve the dependencies of XAML components. For instance, in the XAML version of our app, we need to invoke Shell navigation methods within the view model, as demonstrated in the following code:

await Shell.Current.GoToAsync(
  $"{nameof(ItemsPage)}?{nameof(ItemsViewModel.ItemId)}={item
  .Id}");

To address dependencies in Xamarin.Forms, an open-source project, Xamarin.Forms.Mocks, is available to help mock Xamarin.Forms components. In the case of .NET MAUI XAML apps, we require...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime