An interesting middle ground might be writing it in C# (of all modern languages this possibly has the best features / tool-support ratio), but run it on Linux (Mono) and against e.g. PostgreSQL.
Assuming you want to dev on Windows (because of said tool support), you'll still pay licenses for Windows on the dev boxes and for Visual Studio, but not when hosting (or scaling, for that matter).
And that actually works great. We use .Net with postgresql, and lately we have been testing with mono and the results are amazing. Mono + Postgresql is a great combination.
Mono gets quite fast if you flip some command-line switches. The defaults are a middle-ground between fast startup time and fast execution. If you're a webapp, you probably don't care about startup time (this is off the top of my head, i forgot where i saw the stats)
No, I haven't. I mentioned somewhere else that I know of the versions from 2-3 ago. I did _very_ extensive benchmarking, and they were quite far away in edge conditions (example: very high GC load).
Thanks, we are considering using mono to move away from windows platform. Won't be using .net tech in the long term. Would be nice to run our existing programs (linq to entity) with just little modifications though.
I use the paid version of Visual Studio and I still avoid MSTest like the plague. I used it for a couple of projects because I thought the integration would be great, but it's awful. It's really slow, even if you use it as a shell for NUnit/xUnit.
I use NUnit/xUnit, and sometimes mspec, and testing from the command line or the N/xUnit GUI is not an issue for me.
FYI, there are even attempts at getting continuous testing working via console, as soon as you save a file in VS the tests are kicked off in the console. I tried it and it "worked", but so far I haven't integrated it into my workflow yet.
I can't speak for Mighty Moose (haven't used it), but NCrunch is pretty awesome. After using it for a few weeks, you feel like you've chopped an arm off when you start using a Visual Studio install without it and have to run tests manually or drop to the command line to run mocha tests.
Completely agree there. Consider using TestDriven.NET, it provides great integration with NUnit. I think it's really the integration that MSTest should've had. The only downside is that it doesn't seem to work with async tests, at least in the versions that I've used.
Assuming you want to dev on Windows (because of said tool support), you'll still pay licenses for Windows on the dev boxes and for Visual Studio, but not when hosting (or scaling, for that matter).