Supporting Different Testing Frameworks in DotNetMock
-----------------------------------------------------

What?
-----

Originally, DotNetMock used NUnit internally.  This proved to be a problem for projects using other testing frameworks, internal or external.  With the 0.7.4 release, DotNetMock now provides support for using alternate frameworks.

How?
----

Currently, DotNetMock ships with implementations for three testing frameworks, NUnit , csUnit, and MbUnit.  To use either of these frameworks, simply make sure the corresponding dll is found somewhere within the applications path.  This can either be the standard probing path for local dll's or in the GAC

The framework will attempt to load a testing framrwork in the following order:

* NUnit
* MbUnit
* csUnit

So, even if you have a certain version of one of the above frameworks in your GAC, you can override the version loaded by placing the desired version in your local path.

If you are upgrading from a previous release of DotNetMock, you can removed all the DotNetMock files you previously used, and replace them with DotNetMock.dll, and optionally, DotNetMock.Framework.dll.  You do NOT need any of the other previous assemblies.  These include:

*DotNetMock.Core
* DotNetMock.NUnit.dll
* DotNetMock.MbUnitNamespace.dll
* DotNetMock.csUnitNamespace.dll


Why?
----
Answers to some questions:

Q: I don't use either of the supported frameworks, so can I provide my own testing framework implementation?
A: Not at this time.  The only frameworks supported are the three above.  If you would like to use your own framework, drop the developers a line at dotnetmock-developer@lists.sourceforge.net and we will see what we can do.

Q: Your implementation of (csUnit|NUnit|MbUnit) doesn't support my favorite assertion.  Can this be added?
A: Sure.  The original implementations were meant to provide DotNetMock with enough funtionality to work.  They are by no means feature complete.  So, any missing features can be added.  Simply drop the developers a line ( dotnetmock-developer@lists.sourceforge.net ) or make the changes yourself, and submit a patch.  

Having said all that, it should be clear that only feature common across testing frameworks can be supported.  Framework specific features would break the general interfaces.  We might support both implementations in the future, however.

Any other questions or support issues should be submitted to http://www.sourceforge.net/projects/dotnetmock

-- The DotNetMock Development team
( dotnetmock-developer@lists.sourceforge.net )