Fake Xrm Easy: TDD for Dynamics CRM and Dynamics 365 (or now Common Data Service for Apps) made simple
Build | 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
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.
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.
NEW! Check out video tutorials about how to use Fake Xrm Easy starting here.
For a general overview of the framework and samples please refer to this link.
If you have any questions, or anything you would like to discuss, please do not hesitate to send me an email and I'll be happy to discuss.
Please consider the below guidelines for contributing to the project:
- Provide a unit test to reproduce any issues detected where possible.
- Attach all generated early bound typed entities required (if you're using early bound).
- Finally, if you are even able to fix the issue yourself, which would be awesome, please do fork the project and submit a pull request. We'll thank you forever and ever.
- TODO: Add support for date operators. See
ConditionOperator
implementation status here. Feel free to add missing ones! - TODO: Implement remaining CRM messages. To know which ones have been implemented so far, see
FakeMessageExecutor
implementation status here. - TODO: Increase test coverage.
FetchXml implementation:
- DONE: Add support for arithmetic operators
- DONE: Add support for FetchXml aggregations
Try deleting anything under the VS test explorer cache: %Temp%\VisualStudioTestExplorerExtensions