I'm currently developing an app on MonoTouch/MonoDroid and I'd like to improve my testing (working on a Mac with xamarin studio). I know how to write integration tests which run on the simulator (at least on iOS with the iOS Unit Test Project).
What I'd like to do now is TTD, with small, mocking-only tests which test one designated class (and do not run in any device/simulator - unit-testing only). I use to do that on Java with Mockito and tried to do the same on my mono solution with Moq 4.0.
For that purpose, I need nothing from Mono, just the plain classes. So I tried to create a new N Unit Project and linked my classes into that project. But now, to get the code compiling, i need to include all the references I'm using in that classes (e.g. Xamarin.Mobile.Geolocator, RestSharp, Geo, etc.), even If I mock them anyway later. When I do that, the code compiles, but when I run the first test, there's an error saying version x.y of System.Core is not available. The problem makes sense, the libraries use a specific, mono-version of the System-libraries which is not available in that test project.
The only solution I see is to avoid these references and to write empty Stubs for all library-classes I use in my code, just to make it compile. But that's a lot of useless work, which I really try to avoid.
So to make a long story short: Can someone help me with a working setup for test-first developing in xamarin mono? Where I can use a mocking framework like Moq and don't need to run my unit tests on a simulator? Important is also there is some solution to mock third-party libraries (and makes the code compile in my test-project).