This is a historic post, which I felt needed updating to reflect my current position.
Whilst I still feel that NCrunch is expensive, I feel that price now needs to be put into context. In the three years since writing this, I’m been waiting for an alternative to appear, at a more reasonable cost. The obvious candidate would be JetBrain’s dotCover. That latter product has improved greatly over the last couple of years, and is much cheaper (ReSharper Ultimate, which includes ReSharper, dotCover and other tools costs $957 over three years, versus $577 for just NCrunch over the same period). However, dotCover still doesn’t run your unit tests in the background as you type. It only runs on a build.
Because of this, and despite its high price, I now both have a licence of NCrunch for myself and have budgeted for buying licences for the rest of my team during 2016. It’s expensive, but I’ve reluctantly concluded it’s a justified expense.
Around a year ago, I restarted developing using C#. I’d used it a few years previously, but hadn’t really looked at it for more than four years. One of the big changes I noticed was with free libraries and tools. When of the things that used to frustrate me with the .NET world was that it was affected by the Windows “charge for everything” mentality. In recent years though, that has changed and free, community-driven, tools and libraries are now plentiful.
Another big change has been the change in attitudes to testing. Four years ago, many developers didn’t know about test driven development (TDD), much less use it. This of course applied across the industry, not just with .NET. I discovered though that – thanks to Remco Mulder – C# had probably the best unit testing tool ever: NCrunch, which was free whilst in beta. For those that don’t know about NCrunch, it integrates with Visual Studio and, whenever you pause typing for a while, it recompiles your unsaved source, runs your unit tests and reports them right back in the IDE via little green and red dots against passing/failing lines of code. I quickly became a big fan of NCrunch and fully intended buying a license when it was released.
Then today, I awoke to the news that it had gone commercial and that prices were available, and my excitement of NCrunch came crashing down in a heap when I saw the prices. I had been expecting around $20-$40 for a personal license and $50-$70 for a professional license, but the reality is utterly different. $159 for a named license (ie one that an employer cannot re-use if the named employee leaves) and a mind-numbingly outrageous $289 for a company seat license. On top of that, it will cost 50% of those prices every time a feature upgrade is released. These prices for a small productivity enhancement tool (one can unit test just fine without it, just not quite as easily) are ridiculous in my view. So my love affair with NCrunch is over and it’s time to find an alternative testing solution. A very sad start to the week, development-wise.