While this is a very nifty bit of code, I'd be very careful about using it for unit testing as there is a high likelihood of minor behavior differences verses a real mongod which can cause surprises in production. Also, for anyone looking to embed MongoDB and who doesn't mind using C++ it is possible and rather easy. In fact some of our unit tests and all of our tools other than the shell already do this. See https:/…
Yep, that's a valid point. My plan is to run my tests most of the time with embedded-mongo, and run against real mongo on occasion (such as say, using embedded-mongo while developing locally and real mongo before pushing to production). I haven't benchmarked it yet, but my test suite seems to run a lot faster with embedded-mongo than real mongo. And it's definitely a lot less work to use than an ad-hoc mock layer.
> PS- That is really impressive for a weekend project! You should get in touch with us at 10gen if you're looking for a new job.
Thanks! If my current startup goes down in flames, I'll be sure to give you a call :).