jordimontana82 / fake-xrm-easy

The testing framework for Dynamics CRM and Dynamics 365 which runs on an In-Memory context and deals with mocks or fakes for you
https://dynamicsvalue.com/get-started/overview?source=git
Other
263 stars 182 forks source link
c-sharp dynamics dynamics-365 dynamics-crm dynamics-crm-online fake fakexrmeasy mock mocking mocking-framework testing unittest

Fake Xrm Easy: TDD for Dynamics CRM and Dynamics 365 (or now Common Data Service for Apps) made simple

Follow me for updates on Twitter!

IMPORTANT: FakeXrmEasy v1.x is no longer maintained and is officially read-only Start planning your transition to the newer versions 2.x and 3.x now!

NEW ISSUE TRACKER: The new repo lives at https://github.com/DynamicsValue/fake-xrm-easy THANKS!

Build Line Coverage Branch Coverage
Build status Line coverage Branch coverage

Streamline unit testing in Dynamics CRM by faking the IOrganizationService to work with an in-memory context.

Drive your development by unit testing any plugin, code activity, or 3rd party app using the OrganizationService easier and faster than ever before.

Note: To keep up to date with client-side unit testing version of this framework, please have a look at this repo and samples in this other sample code repo

Version Package Name NuGet
Dynamics v9 (>= 9.x) FakeXrmEasy.9 Nuget
Dynamics 365 (8.2.x) FakeXrmEasy.365 Nuget
Dynamics CRM 2016 ( >= 8.0 && <= 8.1) FakeXrmEasy.2016 Nuget
Dynamics CRM 2015 (7.x) FakeXrmEasy.2015 Nuget
Dynamics CRM 2013 (6.x) FakeXrmEasy.2013 Nuget
Dynamics CRM 2011 (5.x) FakeXrmEasy Nuget

Supports Dynamics CRM 2011, 2013, 2015, 2016, and Dynamics 365 (8.x and 9.x). NOTE: With the release of Dynamics 365 v9 we are changing the naming convention for new packages to match the major version.

Semantic Versioning

The NuGet packages use semantic versioning like this:

x.y.z  => Major.Minor.Patch

x: stands for the major version. The package is very stable so that's why the major version didn't change yet.

y: minor version. Any minor updates add new functionality without breaking changes. An example of these would be a new operator or a new fake message executor.

z: patch. Any update to this number means new bug fixes for the existing functionality. A new minor version might also include bug fixes too.

Support

We believe in sustainable Open Source. The software is MIT licensed and provided to you for free but we encourage you (and by you, we mean the whole community) to extend it / improve it by yourselves, of course, with help from us.

In programming terms:

Free Open Source !== Free Support. 

If you're a business entity who delivers solutions on top of the Power Platform and are using this project already, you can help make OSS sustainable while getting more visibility by becoming a sponsor. Please reach out to me for sponsorship enquiries and to contribute and give back to this project.

If you're an individual, feel free to check the Sponsorship tiers, any help is welcome and greatly appreciated.

For contributing, please see section below.

Contributing

Please consider the below guidelines for contributing to the project:

Roadmap

Tests disappeared?

Try deleting anything under the VS test explorer cache: %Temp%\VisualStudioTestExplorerExtensions