I hope you’ll agree with me that this topic is extremely important to XAF's primary target audience - development teams creating complex enterprise apps.
To help reduce the time needed to write unit and functional tests with XAF, we have published 10+ NEW articles:
- How to write lightweight unit tests for XAF Actions, Controllers and other custom UI logic
- How to unit test Action's enabled/disabled state based on user permissions
- How to unit test whether object property changes via Actions were successfully committed
- How to unit test object queries by criteria and Detail View creation
- How to unit test event handlers in Controllers
- How to unit test New Action's custom business logic based on parent and nested Views
- How to unit test Action's enabled/disabled state based on target criteria and selection dependency types in List View
- How to unit test Action's enabled/disabled state based on target criteria and selection dependency types in Detail View
- How to unit test localized strings from CaptionHelper (Approach 1)
- How to unit test localized strings from CaptionHelper (Approach 2)
- How to integrate XAF functional testing with Continuous Integration systems like Azure DevOps
- XAF - Unit and Functional Testing with Blazor UI
I also want to point you to community content on this subject from Manuel Grundner (DevExpress MVP):
His personal blog contains other posts that address XAF best practices: https://blog.delegate.at/tags/XAF/.
Please Help Us Decide on Future Enhancements
We published these learning materials after comments to the recent roadmap survey and Support Center questions on unit & functional testing - thank you for your help! Additional enhancements are expected and will also be driven by user feedback.
For unit testing, we are considering to add more learning materials and release all required assemblies with helper/mock classes (like TestDBTest, TestDetailViewFactory, etc.). For functional testing, we are considering to improve our cross-platform EasyTest engine with new commands and features. For instance, you will be able to write Blazor functional tests for Chrome or FireFox web browsers in C# or VB.NET (examples).
Please let us know what you think of these new learning materials and planned enhancements in this regard.