Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How stable is NSubstitute?

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?

like image 857
Vaccano Avatar asked Sep 15 '10 19:09

Vaccano


2 Answers

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.

like image 140
David Tchepak Avatar answered Oct 17 '22 13:10

David Tchepak


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.

like image 20
Dale Ragan Avatar answered Oct 17 '22 14:10

Dale Ragan