Introductie
FakeXrmEasy is een open source testframework dat speciaal is ontwikkeld voor het testen van
Microsoft Dataverse (Dynamics 365) oplossingen.
Het framework simuleert de Dataverse omgeving in-memory, waardoor je plugins en business logic kunt testen
zonder verbinding met een echte omgeving.
π Hierdoor kunnen tests snel, betrouwbaar en volledig geautomatiseerd uitgevoerd worden.
Doel van Unit Testing met FakeXrmEasy
- Valideren van business logic in isolatie
- Testen van plugins zonder deployment
- Detecteren van fouten in een vroeg stadium
- Verhogen van codekwaliteit en betrouwbaarheid
- Ondersteunen van Test Driven Development (TDD)
π Unit tests zorgen voor snelle feedback tijdens development.
Wat is FakeXrmEasy
- Testframework specifiek voor Dataverse / Dynamics 365
- Simuleert
IOrganizationService
- Werkt met een in-memory database
- Ondersteunt queries zoals FetchXML en LINQ
- Integreert met xUnit, MSTest en NUnit
π FakeXrmEasy simuleert een volledige Dataverse context in geheugen en maakt het mogelijk om data en gedrag te testen zonder echte backend. ens development van plugins
Bij implementatie van business logic
Als onderdeel van CI/CD pipelines
Voor regressiecontrole op code niveau
π Unit testing met FakeXrmEasy is een vast onderdeel van moderne DevOps practices.
Wat wordt getest
πΉ Dataverse / Plugins
- Plugin business logic
- Pre/Post event gedrag
- Validaties en business rules
- Wijzigingen op entities
πΉ Business Logic
- Berekeningen en beslissingen
- Data mutaties
- Service calls via IOrganizationService
π Focus ligt op isolatie van logica, niet op integraties.
Hoe werkt het (conceptueel)
- Initialiseer testdata in memory
- Voer plugin of logic uit
- Controleer de gewijzigde state
π FakeXrmEasy gebruikt een in-memory datastore om de state vΓ³Γ³r en na uitvoering te vergelijken. [1](https://dynamicsvalue.github.io/fake-xrm-easy-docs/quickstart/basics/)
Aanpak (stap voor stap)
πΉ 1. Testcontext opzetten
- Initialiseer FakeXrmEasy context
- Configureer testdata (entities)
πΉ 2. Testdata voorbereiden
- Maak benodigde records aan
- Simuleer relaties en dependencies
πΉ 3. Code uitvoeren
- Roep plugin of business logic aan
πΉ 4. Resultaten valideren
- Controleer wijzigingen in data
- Verifieer business rules
- Gebruik assertions
Checklist Unit Testing (FakeXrmEasy)
πΉ Setup
πΉ Testcases
πΉ Validatie
πΉ Kwaliteit
Best practices
- Scheid business logic van plugin code (SOLID principes)
- Test logica onafhankelijk van Dataverse
- Houd unit tests klein en specifiek
- Automatiseer tests in CI/CD pipelines
- Gebruik FakeXrmEasy voor snelle feedbackloops
Relatie met teststrategie
- Onderdeel van Unit Testing β valideert individuele componenten
- Wordt gebruikt vΓ³Γ³r integratie en system tests
- Ondersteunt Test Driven Development (TDD)
- Vormt de basis voor hogere testniveaus
π Unit testing met FakeXrmEasy zorgt voor snelle feedback tijdens development en verhoogt de kwaliteit van de volledige testketen.
Samenvatting
Unit testing met FakeXrmEasy maakt het mogelijk om Dataverse plugins en business logic
snel en betrouwbaar te testen zonder afhankelijkheid van een echte omgeving.
π Het is een essentieel onderdeel van moderne Power Platform development en helpt bij het bouwen van robuuste en onderhoudbare oplossingen.