Code Monkey home page Code Monkey logo

fake-xrm-easy's Introduction

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

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.

Version NuGet
Dynamics v9 Nuget
Dynamics 365 Nuget
Dynamics CRM 2016 Nuget
Dynamics CRM 2015 Nuget
Dynamics CRM 2013 Nuget
Dynamics CRM 2011 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.

Getting Started

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.

Contributing

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.

Roadmap

  • 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.

Backlog

FetchXml implementation:

  • DONE: Add support for arithmetic operators
  • DONE: Add support for FetchXml aggregations

Tests disappeared?

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

fake-xrm-easy's People

Contributors

aleksandrrogov avatar amolotkov avatar arjenst avatar bacon1986 avatar betimbeja avatar bwmodular avatar camelcasedave avatar chuckmag avatar ckl-bso avatar energy164 avatar fallasd avatar iggsn avatar jmontanaepa avatar joachimbaten avatar jordimontana82 avatar kraviecc avatar mivra avatar mrjamiebowman avatar pedropaulovc avatar piotr-domanski avatar rajyraman avatar rbnswartz avatar ryanklee avatar scubaracer avatar sejoslawmobile avatar slahn avatar smackodale avatar synesthesia avatar teppolainio avatar vjain90 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.