Question

My company is looking to standardize on an Isolation Framework. I was looking at MS Stubs (cause Moles seemed cool and I thought I would keep it in the same framework). However, Stubs is not quite ready for prime time yet (it is still a bit buggy in normal functionality).

So now I am looking at what else is out there. I have looked at Moq and Rhino mocks. While doing that, I came across the fabulous comparisons done by Richard Banks. In that he shows NSubstitute. I really like what I see there.

However, after having been burned a bit by MS Stubs, I don't want to bet on an alpha/non-production ready Isolation Framework.

So, is NSubstitute ready for prime time? Or is it still a bit buggy?

Was it helpful?

Solution

There is a discussion about this on the official NSubstitute group.

The alpha tag was originally used to indicate that the API was still subject to change. The API has now stabilised, and most of the outstanding work for a 1.0 release is documentation. You can get an indication of some other planned work (for both v1 and v2; mostly planned features) from the issue log.

We have been using NSubstitute on a major project with a team of 6 developers and are very happy with it.

Note: I work on NSubstitute, so may be a tad biased. :)

UPDATE: NSubstitute 1.0 has been released.

OTHER TIPS

I've been using NSubstitute on my project and I haven't had any problems. I picked NSubstitue mainly just to try it out, because I like the syntax and how easy it is to fake an implementation due to it being loose. Since I wasn't sure if I would keep using it at the time, I put a little wrapper around it for my own little DSL, whenever I need a fake.

Also to note, I mainly develop C# on Linux with Ubuntu, Mono, and MonoDevelop and I haven't had any problems with it working under the Mono 2.6.7 runtime. You can probably use any of the 2.6.* runtimes, but I haven't tried it. The Mono 2.6.* runtime is equivalent to the .NET 3.5 Framework.

It's everything they were hoping, with their phrase from the website: It's meant to be simple, succinct and pleasant to use.

We were using Rhino Mocks but we have replaced all our mocking code with NSubstitute. It is very stable, far easier to work with, away less code required to do what you have got to do and a small, concise but effective API.

Would strongly recommend it!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top